Creuva – create something new. Creuva is a flexible theme for Contao 5.7 and Contao 6 based on the
Theme Components Bundle. A single command sets up the
theme, page layout, modules and website root, optionally with basic pages or a complete demo website.
17 color schemes, light, dark or system color mode, two typographies and four corner radii –
all configurable in the page layout, with contrasts that meet WCAG 2.1 AA
Four demos (Standard / Creative, Company, Portfolio / Studio, Sports club) and a style guide with all
elements
Custom content elements such as hero, logo bar and match pairing, plus many template variants (card, icon box,
call to action, image & text, key figures, timeline, gallery slider …)
CSS classes via select fields using the CSS Style Selector: backgrounds, grids, spacing, buttons, animations
Search, Open Graph and link previews, lightbox, responsive images and self-hosted fonts
Export websites as templates and import them into other installations
Creuva styles the modules for news, events, FAQ, newsletter, comments and listing, but they are
optional. The demos only create news and events if the respective bundle is installed.
Tip
You can set up Creuva in an empty or in an existing installation. Existing content
is kept, the theme comes with its own page layout.
Note
The demo files (icons, PDFs) are served via the symlink public/files/creuva-demo. On Windows,
contao:symlinks needs administrator rights or developer mode for this, otherwise icons and downloads are missing.
License
Buying a license
You can get a license for Creuva at contao-themes.net.
A license is valid for one domain including subdomains; for multiple websites you need several single licenses or
a license for unlimited domains. You may use the theme for private and commercial projects.
Copyright notice
The bottom bar in the footer always contains the link “powered by contao-themes.net”. It is part of the license
and may only be removed or changed with a license without copyright link – even if you only use the theme as a
base and customize it.
Agencies and transfer
You can transfer the usage rights to your client once; the agency then loses its rights.
You need a new license for each additional project (except with the license for unlimited domains).
Reselling the theme or any of its parts is not allowed.
Demo content and libraries
Texts, images and other media in the demos are for preview purposes only and must not be used for your own
websites. The bundled fonts (Plus Jakarta Sans and Fraunces under the SIL Open
Font License 1.1) and the required packages are subject to their own licenses; you can find an overview in the
bundle’s THIRD-PARTY-NOTICES.md file.
You can find the full license terms in the LICENSE file in the bundle.
Installation
Installation takes two steps: install the package, then set up the theme. You can do the setup in the back end
under Layout › Creuva or on the console with creuva:install – both lead to the same result.
1. Install the package
With the Contao Manager
Open the Contao Manager (www.your-domain.com/contao-manager.phar.php), search for creuva in the
Discover tab, add the package pdir/creuva-theme-bundle and click Apply changes.
Then update the database when the Contao Manager prompts you to.
Log in to the back end as an administrator and open Layout › Creuva. Under Set up you choose what
should be created:
Option
Result
Import a demo website
New website root with all pages, content, news, images and forms of a demo
Create an empty site structure
New website root with start, contact, imprint, privacy, accessibility statement, sitemap and search pages
Use an existing website
The Creuva layout is assigned to the selected website roots, the content stays unchanged
Only create the theme
Create the theme, modules and page layout; you assign the layout yourself later
For a new website root you enter the title, language and optionally the domain. You need the domain if
there already is a website root with the same language and no domain. Below each form you find the matching
console command and, after running it, the output.
Note
If the page reports that the database is not up to date, update it first in the Contao Manager or with
contao:migrate.
What gets created
the theme “Creuva” with the modules main navigation, header, footer – brand, footer navigations, copyright
and bottom links
a page layout of type “Modern” with the template page/layout/creuva, with all modules assigned to their
slots
the image size “Logo” (480 × 120 px, 2x density), if the theme does not have one yet
The theme detects the contact, imprint, privacy, accessibility, sitemap and search pages of an existing website by
their alias (kontakt, impressum, datenschutz, barrierefreiheit, sitemap, suche …) and links them in the
header button, the header search and the footer. Module names and texts follow the language of the website root
(German or English).
2. Set up the theme on the console
# Existing website: the website root is queried or passed by IDvendor/bin/contao-console creuva:install --root=1# New website with basic pagesvendor/bin/contao-console creuva:install --with-pages --site-title="My Company" --dns=example.org
# Complete demo website with sample content, images, news and formvendor/bin/contao-console creuva:install --demo
Option
Description
--root=<ID>
Website root that receives the Creuva layout (can be used multiple times)
--with-pages
Create a new website root with basic pages (automatic if there is none yet)
--demo[=<name>]
Create a new website root with a demo: standard (default), unternehmen, portfolio, sportverein or a folder such as files/my-demo
--site-title, --language, --dns
Title, language (default de) and domain of the new website root
--scheme
Color scheme, e.g. green (default), petrol, blue – see Color schemes
--variant
Color mode: light (default), dark, auto (follows the system setting)
--typography
modern (default, Plus Jakarta Sans) or editorial (headings in Fraunces)
--theme-name
Name of the theme (default “Creuva”), e.g. for a second variant
--replace
Delete the website with the same domain and language, including its theme, beforehand, see Reset content
--reset
Delete all Contao content beforehand
--force, --no-backup
With --reset/--replace: without confirmation or without a database backup
Notes
Error message: This page isn’t working / The page redirected you too many times
Edit the website root and set the protocol under URL settings to http:// or https://, depending on
how your site should be accessed.
Demo icons and downloads are missing
Run vendor/bin/contao-console contao:symlinks so that public/files/creuva-demo is created.
Search finds nothing
Build the search index once after the setup: System › Maintenance or contao:crawl.
Subsections of Installation
Manual setup
creuva:install or Layout › Creuva takes care of these steps for you. If you prefer to put the theme
together yourself, proceed as follows:
1. Theme and modules
Create a new theme under Layout › Themes and add these modules to it:
Navigation menu (2 levels) for the main menu
Creuva › Creuva header – logo, navigation module, CTA button, optional search; contains the mobile menu
optionally Search engine on a hidden “Search” page (see Search)
Creuva › Creuva brand – logo, claim and social media links for the footer (the platform is detected from the URL)
Custom navigation with a headline for each footer column (e.g. Services, Company, Legal)
optionally Custom HTML code for the copyright and a custom navigation for the links at the bottom right
optionally Creuva › Creuva style switcher for trying out the color schemes (see Style switcher)
2. Page layout
Create a page layout of type “Modern” with the template page/layout/creuva and assign the modules to the
slots:
Slot
Content
top
optional bar, style switcher
header
Creuva header
main
articles
prefooter
optional, e.g. a logo bar above the footer
footer
Creuva brand and footer navigations
bottom
copyright, sitemap, cookie settings
The bottom bar always contains the link “powered by contao-themes.net”, see License.
3. Design
In the page layout, set the color scheme, color mode, typography, corner radius and animations under
Creuva design, see Design.
4. Import CSS styles
To make the Creuva classes available as select fields:
vendor/bin/contao-console creuva:css-styles
Accessibility
Give each navigation module a unique ARIA label under Expert settings, e.g.
“Main navigation”, “Services”, “Service links”.
The headlines of the footer columns should be h2.
In forms, set the Autocomplete field for name, email, phone etc. (name, email, tel,
organization).
The installer and the demos already do this.
Demos and styleguide
Creuva comes with four demos. Each one is imported as a website root of its own – in the back end under
Layout › Creuva › Set up (option “Import a demo website”) or on the console. In an existing installation, you
add the demo alongside with its own domain (--dns) or language (--language).
All demos use only core elements, Creuva elements and template variants, so they work the same in Contao 5.7
and 6. The elements are independent of the demos: whatever a demo shows, you can use on any Creuva website.
Note
The texts, images and media of the demos are for preview purposes only and must not be used on your own websites.
The contact form does not send any emails – add the sending in the form generator.
Standard / Creative
Pages: home page, services (web design, development, consulting), projects with six project pages, about us
with team, pricing, news & knowledge with FAQ and downloads, contact with thank-you page, legal notice, privacy
policy, accessibility statement, sitemap, search and a 404 page
Modules: main navigation, header with CTA and search, footer with four columns and social media links,
news list and reader, sitemap, search engine
Image sizes for every spot in the layout (logo, hero, card, image & text, wide, team, avatar, news, gallery)
with several widths, WebP and lazy loading
News archive with three posts (only with the News bundle installed)
Files under files/creuva-demo/standard/ (illustrations, icons, PDFs) with alt texts
Favicon in the website root and the style switcher for trying out the color schemes
Company
A classic company website (“Kessler Metalltechnik GmbH”, Light, color scheme Ocean, square corners):
Pages: home page with key figures, services and industries; services with machinery; industry solutions;
references; company with history, certificates and locations; careers with job offers and online application
(file upload); download center; news; contact with contact persons
Job offers are news items in the archive “Stellenangebote” with the list template news_creuva_job
(see News)
Process steps as a template variant of the description list
Portfolio / Studio
For photographers, architects and creative studios (“Studio Lichtung”, typography Editorial, color scheme
Terracotta, small corners):
Pages: home page with full-screen hero, works with six project pages, image archive (masonry gallery with
lightbox), studio with team, services with pricing and FAQ, journal, contact
Project pages: full-screen hero, project data (facts), text, a different gallery arrangement or a slider
with thumbnails on each page, and a link to the next project
Image tiles (creuva_tile), logo bar and the grid class “Versetzt” (offset, u-grid-offset)
Sports club
For football and sports clubs (“TSV Rotenbach 1921”, Light, color scheme Red, medium corners, crest as logo):
Pages: home page with next match and latest result, teams with training times and league table, fixtures,
club with board and sports park, news, sponsors with packages, membership with online application and
membership form (PDF)
Fixtures and results are events in the calendar “Spielplan”. Their dates are relative to the day of the
import, so the next matches are always in the future.
Content element “Match” and table class “Liga-Tabelle” (league table, u-table-league)
Styleguide
The styleguide shows all elements, template variants, CSS classes and modules of the theme on one page: colors,
typography, buttons, lists, tables, media, key figures, accordion, backgrounds, animations, all form fields,
breadcrumb and news list. It is independent of the demos and can be added to any Creuva website – under
Layout › Creuva › Styleguide or on the console:
vendor/bin/contao-console creuva:styleguide --root=1vendor/bin/contao-console creuva:styleguide --root=1 --replace # recreate after a theme update
Page “Styleguide” (alias styleguide) at the end of the website, not in the navigation, not in the search
index and with noindex,nofollow
its own modules, a form and a news archive with the prefix “Styleguide – "
files under files/creuva-demo/styleguide/
The demos install the styleguide as well.
Accessibility statement
Every demo comes with the page zugaenglichkeitserklaerung, linked in the footer. Each section is a text element
of its own; sections that don’t fit every website (PDF documents, videos, maps, third parties, BFSG, dispute
resolution …) are hidden and can be shown via the eye icon. --with-pages creates the page with a placeholder.
Note
The text is a template. The theme alone does not make a website accessible; the date and details must match the
website in question.
Subsections of Demos and styleguide
Custom demo and export
You can export a website as a template and import it into another installation – e.g. as a starter package for
client projects. The template is a folder with a demo.yaml and the files used, the same structure as the bundled
demos.
Exporting a website
In the back end under Layout › Creuva › Export a website (administrators only), you choose the website root
and optionally a title and folder name. Below, all exports are listed with date, number of files and size; you can
download them as a ZIP and delete them. On the console:
var/exports/kunde-x/
├── demo.yaml pages, contents, modules, forms, news, events, image sizes, design
└── files/ the files used
The export includes:
the page tree with articles and content elements, and the modules, forms, news and events used in it
the image sizes of the theme and all sizes used in contents
all referenced files with alt texts
header, logos, brand and footer columns from the Creuva modules
color scheme, color mode, typography, corner radius and logo height, plus the favicon and preview image of the
website root
Not exported are custom colors of the layout, recipient addresses of forms, tables of other extensions and the
styleguide page (it is recreated on import). Insert tags with IDs such as {{insert_module::3}} and the elements
“Content element” and “Article” (aliases) cannot be transferred; the export lists them as warnings. Page links such
as {{link_url::12}} are converted to aliases.
Tip
To move a complete website, a database backup is the better way. The export is meant for templates.
Importing a custom demo
Unzip the ZIP and copy the folder to files/<name>. Do not make the folder public, otherwise the
demo.yaml can be accessed on the web.
Under Layout › Creuva › Set up, enter files/<name> in “Or own folder”, or:
The files are copied to files/creuva-demo/local-<folder name>/, the source folder stays unchanged. With
filesFolder: inhalte in the demo.yaml, they end up in files/inhalte/ instead; this folder is not deleted by
creuva:reset.
Structure of the demo.yaml
The definition is YAML. You write references as page:<alias>, module:<key>, image_size:<key>,
news_archive:<key>, calendar:<key> or file:<path>. An example with the most important sections:
design:scheme:green # color scheme, color mode, typography and corner radius of the page layoutvariant:lighttypography:modernradius:largelogoHeight:4remstylesheets:['files/design/custom.css']# created if it does not existheader:logo:file:design/logo.pngsearch:suche # alias of the search results pagebrand:logo:file:design/logo-hell.pngbottom:['impressum','datenschutz','sitemap']# links next to the copyrightimageSizes:card:name:Karte (4:3)width:800height:600resizeMode:cropdensities:400w, 600w, 800wsizes:'(min-width:80rem) 384px, (min-width:44rem) 31vw, calc(100vw - 2rem)'lazyLoading:truepages:- title:Startarticles:- elements:- {type:'image', singleSRC:'file:bilder/foto.jpg', size:'image_size:card'}modules:newslist:{name:'News', type:'newslist', news_archives:['news_archive:blog'], imgSize:'image_size:card'}layout:prefooter:[partner] # additional modules in sections of the page layoutstyleguide:true
You define events under events:; the date is a strtotime() expression ("2026-12-05", "5 December"),
relative values such as 'date:next saturday 15:00' are possible as well. The bundled demos in the bundle’s
demo/ folder are the best template.
Image sizes of the demos
Each image size is meant for one spot in the layout, so the browser doesn’t load more than necessary:
Key
Name
For
logo
Logo
Logo in header and footer
hero
Hero
Image in the hero element
cover
Vollbild (16:9)
Full-width hero
card
Karte (4:3)
Cards in three or four columns, slider with several cards
media
Bild & Text (4:3)
Template variant “Image & text”, cards in two columns
wide
Breit
Image across the content width
tile-portrait, tile-landscape
Kachel hoch/quer
Image tiles
slider
Slider (3:2)
Images in a slider across the content width
team, avatar
Team, Avatar
Portrait and testimonial
news, news-detail
News-Teaser, News-Detail
News list and header of the news reader
gallery
Galerie (responsiv)
Galleries, the gallery template sets sizes per image
Resetting contents
The demo import does not overwrite any existing contents. To import a demo again or to put an installation back
into the state right after a fresh install, there are two ways.
Warning
Both commands delete contents. A database backup is created automatically beforehand – only turn it off if you
are sure.
Deleting all contents (creuva:reset)
# Delete all contents (with confirmation and database backup)vendor/bin/contao-console creuva:reset
# Delete contents and import the demo againvendor/bin/contao-console creuva:install --demo --reset
In the back end, this corresponds to the option “Delete all contents first” under Layout › Creuva › Set up.
All Contao tables are emptied: site structure, articles, content elements, themes, modules, layouts, forms,
news, versions, search index etc. The IDs start at 1 again.
Back end users and user groups, members and member groups and the file manager are kept.
Of the files, only the demo folder files/creuva-demo is deleted.
The backup is stored under var/backups/creuva-reset__<timestamp>.sql.gz; restore it with
contao:backup:restore <file name>.
Without confirmation (e.g. in scripts): --force, without backup: --no-backup.
Replacing one website of a multisite installation (--replace)
--reset deletes all websites. If several websites run in one installation, --replace only replaces the
website that the import would create:
This deletes the website roots with the same domain and language including their subpages and contents, the theme
with the name from --theme-name and the themes whose layouts this website uses, as well as forms, news archives
and calendars – but only if no other website uses them.
If the theme is also used by another website, the command aborts without deleting anything.
Before deleting, the command lists all affected records and asks for confirmation.
Files are kept; the import overwrites the demo files, their UUIDs stay the same.
If there is no matching website yet, --replace simply creates it.
Cannot be combined with --reset and --root; requires --demo or --with-pages.
Afterwards, rebuild the search index with contao:crawl.
Design
You set up the look in the page layout under Creuva design. Below the fields, a live preview shows a
heading, buttons and boxes with the current selection.
Field
Options
Color scheme
17 schemes, see below
Color mode
Light / Minimal, Dark / Creative, Light or dark by system setting
Typography
Modern (Plus Jakarta Sans) or Editorial (headings in Fraunces) – can be combined with any color mode
Corner radius
Square, Small, Medium, Large – rounding of cards, buttons and images
Primary color, Accent color
optional custom colors as a hex value without #, they override the scheme
Logo height
Height of the logo in the header as a CSS value, e.g. 4rem (default 2.25rem); the header grows with it
The live preview checks custom colors: it shows a notice if white text on the primary color, or the accent color
as text on white, falls below a contrast ratio of 4.5:1. The accent color is also used for links and small text.
Color schemes
Each scheme consists of a primary color (buttons, dark areas, links; it also tints backgrounds, borders and text)
and an accent color (accents, badges, icons, focus outlines). All schemes meet the WCAG contrast requirements
(text 4.5:1, large text and graphics 3:1) in light and dark mode.
Scheme
Key
Primary
Accent
Green (default)
green
#1d3b2a
#3c9a2f
Sage
sage
#2f3e36
#52755f
Olive
olive
#2e3220
#647219
Graphite & lime
lime
#1c1f22
#b5e61d
Petrol
petrol
#0f3a40
#0b7d7d
Ocean
ocean
#0b2545
#08759a
Blue
blue
#1b2f4b
#2f6fd6
Indigo
indigo
#1a1b4b
#4f46e5
Violet
violet
#2a1846
#7c4dff
Plum
plum
#33152e
#9c3d8f
Magenta
magenta
#3d1430
#c92a63
Red
red
#3f1418
#c8323a
Bordeaux
bordeaux
#3b0d1f
#a3214e
Terracotta
terracotta
#3b2219
#b84f24
Orange
orange
#2d1b0e
#f08c00
Yellow
yellow
#26241c
#f2b705
Midnight & gold
gold
#141a2e
#c9a227
You need the key for creuva:install --scheme=…, for the demo.yaml and for links to the
style switcher.
Color mode “System”
With “Light or dark by system setting”, the website appears light or dark depending on what the visitor has set
in their operating system or browser, and switches along when the setting changes. A small script sets the mode
before the first render, so the page doesn’t flash. Without JavaScript, it stays light.
Design per website
In the website root, you can additionally set color scheme, color mode, typography and corner radius under
“Creuva design”. These values take precedence over the page layout; a scheme in the website root also replaces the
custom colors of the layout. This way, several websites can share one layout and still look different.
The installer and the demos leave the fields in the website root empty (“As in the page layout”), so changes in
the page layout become visible right away.
Animations
Setting
Effect
All sections (default)
All elements in the main section fade in from below on scroll, grids and news lists element by element, “Image & text” from both sides; key figures count up
CSS class only
Only elements with a class from “Animation” (see CSS classes)
None
No scroll animations, no intro animation in the hero, numbers appear immediately
The u-reveal-* classes set the direction per element and take precedence; u-reveal-none excludes an element
or a whole article.
Contents that are already visible on load are never hidden; without JavaScript, everything is visible right away.
Visitors who have “Reduce motion” turned on in their system settings don’t see any animations.
You can adjust duration, distance and delay with CSS:
:root{--reveal-duration:0.6s;/* default 0.8s */--reveal-distance:1.5rem;/* default 2.5rem */--reveal-stagger:60ms;/* delay per element in the grid */--hover-lift:-4px;/* lift of cards on hover */}
Fonts
Plus Jakarta Sans and Fraunces ship with the theme and are self-hosted, so there are no requests to Google. The
browser only loads Fraunces if the typography “Editorial” is selected.
Subsections of Design
Style switcher
The front end module Creuva › Creuva style switcher shows a cog on the left edge. Visitors can use it to try
out color scheme, color mode (Light, Dark, System), typography (Modern, Editorial) and corner radius live – ideal
for a demo or for choosing a color scheme together with clients.
Setting it up
Create a module of the type Creuva style switcher under Layout › Themes › Modules (the demos already
have one).
Assign it to the top section in the page layout, so the selection takes effect before the first render.
The selection is only stored in the browser (localStorage) and applies to all pages with the module.
In the front end preview, the switcher additionally shows administrators the button “Save for the
website”. It saves the selection in the website root of the current website, clears the page cache and then
applies to all visitors. Editors without admin rights and regular visitors don’t see the button.
Back end users only
With the module option “Logged in back end users only”, the switcher is invisible to visitors. It only appears
when you are logged in to the back end; a selection previously stored in the browser then no longer applies to
visitors.
Note
Set this option on live websites. Without it, every visitor sees the switcher.
Custom CSS and templates
Own stylesheets
Create a CSS file in the file manager, e.g. files/design/custom.css, and select it in the page layout under
Creuva design › Own stylesheets. It is loaded after the Creuva CSS, with its modification time for cache
busting. The folder must be public.
All Creuva styles live in CSS cascade layers (creuva.*). This means your own styles without a layer always take
precedence – without !important and without long selectors.
Colors, spacing and rounding
Colors, spacing and typography are CSS variables and are easy to override:
:root{--scheme-primary:#123456;/* primary color incl. tinted backgrounds */--radius-l:0.75rem;}
For custom primary and accent colors, the page layout is usually enough (see Design).
Accordion with a custom icon
Give the accordion the class u-accordion-icon plus a class of your own, and set the icon with CSS:
Only the content is printed, black on white, without header, footer, breadcrumb, slider controls and backgrounds.
Links in the text appear with their address, accordions are expanded, and cards and images are not split across
pages.
Elements and modules
Creuva comes with its own content elements and modules and styles the Contao core elements. The
Styleguide shows how everything looks together.
Content elements
Element
Description
Creuva › Hero
Intro section with kicker, headline with highlighted part, text, two buttons, image and badge
Logo bar (creuva_logos)
Client or partner logos; no background of its own, the section defines it
Match (creuva_match)
Competition, home and away team with crests, kick-off, venue, optional result and button
Hero
The hero image comes in several shapes:
Organic – image with an organic mask
Rounded – the whole image with a shadow and an accent shape behind it
Image unchanged
Image unchanged with accent shape – no shadow and no cropping, ideal for cut-out images with a
transparent background
Full screen (text on the image) – hero across the full width, portrait format on phones
The badge appears as a small card with check marks, one line per point. Image and text are optional.
Logo bar
You link the logos via the file metadata (“Link” field). In dark mode the logos sit on a light surface so that
dark and colored logos stay readable. The exceptions are the background „Primär (dunkel)“ (primary, dark) and the
class u-logos-original, both meant for white logos. The logo bar is also available as a module, e.g. for the
prefooter slot above the footer.
Match
Without a result, the element shows the kick-off time (next match); with a result, it shows the final score. The
matching table class is „Liga-Tabelle“ (league table, u-table-league): a compact table with centered
numbers; your own team is highlighted if it is bold in the table.
Modules
Module
Description
Creuva header
Logo, main navigation with dropdowns, CTA button, mobile menu and the optional search
Creuva brand
Logo, claim and social media links for the footer; the platform is detected from the URL
Logo bar
like the content element, for the slots of the page layout
Creuva style switcher
Try out color scheme, color mode, typography and corner radius, see Style switcher
A full-width contact section below the footer columns is an HTML module with the class c-footer-contact in the
footer slot (see the standard demo for an example).
Styled core elements
Creuva also styles:
the Contao core elements: text, list, description list, table, image, gallery, content slider, accordion,
downloads (with file type and size, e.g. “PDF · 245 KB”), hyperlink, code, top link, forms, breadcrumb, search
the news modules (list as cards, reader, archive menu, pagination)
events (list with date badge, reader, month and mini calendar, menu), FAQ, newsletter, comments and listing
the elements of the Theme Components Bundle 2.0: content box, teaser box, price box, feature element, simple
box, icon tile, modal
select fields in forms, without JavaScript
Accordion
Each entry is a card with a round plus/minus toggle. To add an icon in front of the question, set a class on the
accordion element: u-accordion-icon (question mark), u-accordion-info or u-accordion-chat. You can add an
icon of your own with CSS, see Custom CSS.
Sections with a background
You can also select the background classes (u-bg-muted, u-bg-accent, u-bg-primary) on an article – the
article then becomes a full-width section with a background.
Every article has section spacing at the top and bottom. If two articles without a background or with the same
background follow each other, the top spacing of the second one is dropped so it doesn’t double up. You can adjust
individual articles in the CSS Style Selector under „Abstände“ (spacing).
You can choose these variants under Template settings › Custom template. All of them work independently of
the demos; the Styleguide shows examples.
Text
Variant
Use
creuva_card
Card with image, category (subline), title and text; the last link makes the whole card clickable
creuva_feature
Icon box with a round icon (SVG or small image); on hover the card lifts and the icon is filled with the primary color
creuva_cta
Call to action: a surface with kicker, two-tone headline and text on the left, the links in the last paragraph as buttons on the right (the first one filled, the others as outlines)
creuva_media
Image & text: image left, right, above or below (image alignment), kicker, two-tone headline, text with a check list; links in the last paragraph become buttons
creuva_testimonial
Testimonial: quote in the text, name as headline, role as subline, portrait as image
creuva_team
Team member: portrait, name, role (subline), contact
creuva_price
Price card: package as headline, price as subline, list of features, last link as button; highlighted with u-featured
creuva_tile
Image tile: image in the proportions of its image size, the whole tile is clickable
Icon box: In the CSS Style Selector under „Elementoptionen › Icon-Box“ (element options › icon box) you
find „Ohne Karte“ (without card, u-feature-plain, e.g. benefits in a row) and „Icon links, ohne Karte“ (icon on
the left, u-feature-inline, e.g. contact details).
Call to action: You choose the color under „Farben des Elements“ (element colors: white, gray, light
accent, accent color, outline; text and buttons adapt). „Call to Action › Zentriert“ (centered,
u-cta-stacked) puts the buttons below the text. To span the full window width, use „Breite › Volle Breite“
(width › full width, u-full-bleed) – then set „Innenabstand oben und unten: Kein“ (top and bottom padding: none)
on the article.
Description list
Variant
Use
creuva_stats
Key figures as cards: term = number, description = label
creuva_timeline
Timeline: term = year/step, description = event; horizontal as soon as the element is wide enough, vertical in a grid column
creuva_facts
Facts as a card, e.g. project data: term = label (“Client”), description = value
creuva_steps
Process steps: numbered steps, side by side with a connecting line from tablet width up
Key figures: Characters before or after the number ("+", “%”, “o’clock”) are highlighted, and the numbers count
up while you scroll. Ranges such as “11–20” don’t count up, and dates stay unchanged. Optionally, an icon sits
above each number (field Icons (key figures), in the order of the entries). With u-no-countup the numbers
don’t count up.
Gallery
Variant
Use
creuva_slider
Gallery as a slider: Images per row sets how many images a slide shows (1–6; at most two on tablets, one on phones); Full-size view opens the lightbox
In boxes with u-bg-primary or u-bg-accent, a link that stands alone in the last paragraph is automatically
shown as a button. In texts with u-lead and in section headers it becomes an arrow link
(“View all services →”).
Headlines and text
Headline addition
The Theme Components Bundle adds a subline to headlines. Creuva calls the field “Headline addition”:
addition without a checkbox → small line above the headline (“WHAT WE DO”)
addition with “Two-tone headline” → addition and headline in one line, the actual headline appears in the
accent color (“More than just an agency.”)
addition with “Show addition below” → line below the headline
Kicker
Text elements and description lists also have the Kicker field: small uppercase text above the headline.
Together with a two-tone headline you get the combination used on the demo home page (“CREATIVE PARTNERS ON EQUAL
TERMS – More than just an agency.”).
Section header
Headline on the left, intro and link on the right: create an element group with the classes
u-grid-2 u-align-end, and inside it a headline element and a text element with the class u-lead whose last
paragraph contains only the link.
Text formats in the editor
The text editor has a “Formats” menu with the theme’s text styles:
Text: Accent color, Highlight, Muted – for selected words
Paragraph: Lead (larger), Kicker
Links: Button, Secondary button – select the link and choose the format
Buttons
In the CSS Style Selector, „Primär-Button“ (primary), „Sekundär-Button“ (secondary), „Akzent-Button“ (accent) or
„Outline“ turn a hyperlink element into a button. On a text element with this selection, the links in the
last paragraph become buttons, side by side. In “Image & text” and in call-to-action boxes this happens
automatically.
Sliders and galleries
Content slider
In the content slider element, every element inside is a slide: images, cards, testimonials, texts or whole
element groups. Creuva adds the following to the slider settings:
Elements per view (1–4): at most two on tablets, one on phones
Navigation arrows and Dots: can be turned off individually, shown in a bar below the slides; they are
hidden when all elements fit into the view
Thumbnails: preview images below the slider, taken from the first image of each slide, e.g. for an image
gallery
Autoplay (delay), speed, start slide and loop are the Contao fields. Cards and boxes in a row have the same
height.
Gallery
You set the columns with Images per row (1–6), and Full-size view opens the lightbox. You can choose more
layouts in the CSS Style Selector under „Galerie-Anordnung“ (gallery layout):
Class
Layout
u-gallery-mosaic
large image on the left, next to it one wide and two small ones, four images each
u-gallery-mosaic-right
like the mosaic, large image on the right
u-gallery-featured
first image across the full width
u-gallery-masonry
images in their own height – choose an image size without cropping
Image size
A gallery has only one image size for all images. So that every tile still loads a suitable image, the demos and
the Styleguide include the image size „Galerie (responsiv)“ (gallery, responsive; proportional, widths from
320 to 1600 px). The gallery template sets the right sizes value for every image, depending on the layout, the
position and “Images per row”. The important part set in the file manager stays visible in the tile.
For your own galleries, choose this image size or create one following the same principle – the widths are
enough.
Tip
The format of an image is defined by the image size, not by the CSS. Gallery grids and gallery sliders need a
size with fixed cropping for images of equal height (e.g. „Karte (4:3)“, card 4:3). Mosaic and „Erstes Bild groß“
(first image large) fill their tiles with any size, masonry needs a size without cropping.
Lightbox
With Full-size view/new window, images in the gallery and the image element open the Creuva lightbox: dark
background, caption or title from the metadata, counter, previous/next, keyboard (Esc, arrow keys) and swiping on
phones. The images of a gallery form a group. You don’t need any jQuery or MooTools templates in the page layout
for this.
Preferred loading
The first large image on a page (at least 400 px wide, in the first article, e.g. the hero image) is automatically
prioritized and loaded without lazy loading. This improves the Largest Contentful Paint in PageSpeed. If a page
starts with text, all images stay unchanged.
News and events
News list
The news list shows the items as cards. With the class u-news-no-author on the module (news list, news reader or
news archive) you hide the author; the date stays.
Job offers
The list template news_creuva_job shows news items as job ads: a card with title, tags and teaser. The tags
come from the subline, separated by “·”, e.g. “Full-time · Neuburg · starting now”. The “Company”
demo has an example.
News reader
The news reader shows a header like the hero: archive, date and reading time as the kicker, headline, subheadline
as intro and author, next to it the news item’s image (image size in the News reader module). The content
elements follow in the reading column.
Highlighted part: In the news item you find this field next to the headline. The text you enter appears in the
accent color, e.g. “Accessibility becomes mandatory – what websites need now”. It must appear exactly like this
in the headline. In lists, in the page title and in search engines the headline stays single-colored.
Reading time: The words of the content elements divided by 200 words per minute, rounded up, at least one
minute. Headline, teaser and images don’t count.
Caption: Lists show no caption. The news reader only shows it if it is entered in the news item itself under
Overwrite metadata; the caption from the file manager is not used.
Events
The event list shows events with a date badge. The event reader, month and mini calendar and the event menu are
styled as well. The “Sports club” demo uses events for the fixtures and results.
CSS classes
All Creuva classes are available as styles in the CSS Style Selector,
in the CSS style section of content elements, articles and modules. So you don’t need to remember any class
names – you just select them.
Categories and groups
The classes are sorted into categories (e.g. „Abstände“, spacing) and, within them, into groups (e.g.
„Innenabstand oben und unten“, top and bottom padding). Each group appears in the element as a select field with
exactly one style. An element only shows the groups that fit its type – „Raster“ (grid), for example, only on
element groups, „Buttons“ only on hyperlink and text elements.
Categories and groups are normal records. Under Layout › CSS styles you can change them, sort them by drag and
drop and add your own categories and groups. Sections and element types always apply to the whole group.
Importing the classes
The classes are imported
automatically by creuva:install,
once by contao:migrate on existing websites, as long as no Creuva group exists yet,
after a theme update with new classes, by this command:
vendor/bin/contao-console creuva:css-styles
The import only adds what is missing. Your changes in the back end – titles, element types, removed styles, your
own categories and groups – are kept.
Switching from the Style Manager
The classes are still stored in the CSS class field, so the front end stays unchanged. After the update,
contao:migrate creates the Creuva groups and transfers the selection. You recreate your own Style Manager groups
as CSS styles. Afterwards you can delete the tables tl_style_manager_archive and tl_style_manager as well as
the styleManager columns.
Tip
The classes also work directly in the CSS class field, e.g. in places without a CSS style selection.
u-reveal-up, u-reveal-left, u-reveal-right, u-reveal-down, u-reveal-zoom, u-reveal-blur, u-reveal-fade, u-reveal-none, u-reveal-stagger (content one after another), u-no-countup
Elements
u-accordion-icon, u-accordion-info, u-accordion-chat, u-media-plain (image & text without accent surface)
Visibility
u-hide-mobile, u-hide-desktop
Element colors
Cards, icon boxes, testimonials, price cards and the boxes of the Theme Components Bundle get a surface (white,
gray, light accent, primary or accent color) or just a colored outline. On dark surfaces, text, links and kickers
automatically switch to the contrast color.
You set the circle behind the icon of an icon box separately. With the primary and accent color the icon turns
white; this works with single-colored SVG icons. SVG icons are colored in the color scheme; with u-icon-original
they keep the colors of the file (e.g. multicolored icons). PNG and JPG images always keep their colors.
For key figures, the selection applies to each individual number. Without a selection they only have a light
surface on a dark background, and with u-card-none not even there.
Technically, the classes only set CSS variables (--card-bg, --card-border, --icon-bg …) that all cards read
– see Custom CSS.
Search and SEO
Search
The Creuva header can show a magnifying glass (field Search in the header, legend Search). It opens a
search field above the page – also with Ctrl+K (⌘+K) or / –
and sends the search terms to the selected search results page. Without the checkbox, no magnifying glass
appears.
The results page holds the core module Website search. Creuva styles it with its own templates: a large search
field, results as cards with the page path, highlighted search terms and an optional image, plus tips when nothing
was found.
creuva:install --with-pages and the demos create the page „Suche“ (search; hidden, noindex, not in the
search index) and activate the search in the header. In a demo definition of your own,
header: { search: suche } (alias of the results page) is enough.
The page layout only adds the main section to the search index. Header, footer and copyright therefore don’t
show up in the search results.
Note
Rebuild the search index once after an update: back end › System › Maintenance or
vendor/bin/contao-console contao:crawl
Search engines and link previews
On all indexable pages, the Creuva layout outputs Open Graph tags and twitter:card: title, description,
address (as in the canonical link, without tracking parameters), language (og:locale, e.g. de_DE) and a
preview image of 1200 × 630 px.
For the preview image, the layout uses, in this order:
on pages with a news reader, the image of the news item – the item then appears as og:type “article” with
publication and modification date
the first hero, image or other element with an image in the main section, also inside element groups
the Preview image for social networks in the website root (metadata, field creuvaOgImage)
SVG files are skipped, WebP, AVIF and GIF are output as PNG, and JPEG stays JPEG. Smaller images are not
upscaled.
Tip
Set a preview image for social networks in the website root. Then pages without an image also get a link preview.
Canonical
Website roots created by creuva:install have the canonical tag enabled. On existing websites, you enable it in
the website root. The Styleguide is set to noindex,nofollow.
Update
You update Creuva like any other Contao bundle, using the Contao Manager or Composer:
composer update pdir/creuva-theme-bundle
Then run the database migrations – in the Contao Manager via Update database or on the console:
vendor/bin/contao-console contao:migrate
The migrations apply changes to the page layout, CSS styles and settings. Your content and the
design settings of the website root are kept.
After the update
Depending on the update, these steps may be useful:
creuva:css-styles only adds missing categories, groups and styles. Changes you made in the back end
are kept. The --root option specifies the ID of the website root that contains the style guide.
Warning
If you have overridden templates (see Custom CSS),
compare them with the bundle’s templates after an update. Otherwise your copies will be missing new features.
If you run into problems during installation or setup, or you notice a display error of the theme in a
particular browser, please create a new ticket or write to us at
support@pdir.dev.
Please check first whether your issue is already known.
Known limitations
# 1 Accessibility tools and animations of the Theme Components Bundle have no effect
The accessibility tools (contrast, font size) and the scroll animations of the Theme Components
Bundle use the generatePage and parseFrontendTemplate hooks. Contao does not run these for page layouts of type
“Modern”. The settings in the website root therefore have no effect in the Creuva layout.
Creuva comes with its own animations, see Animations.
# 2 Demo icons and downloads are missing on Windows
The demo files (SVG icons, PDFs) are loaded directly from files/creuva-demo/ and need the symlink
public/files/creuva-demo (contao:symlinks). On Windows this fails without administrator rights or
developer mode.
For local development, a directory junction helps:
creuva:install --reset and contao:symlinks cannot handle an existing junction and abort.
Remove the junction beforehand with rmdir public\files\creuva-demo (this only deletes the link).