Solo is a free, GPL-licensed Drupal theme that exposes 24 regions and 15 colour inputs per region through the theme settings form, so a site can be laid out and styled without writing CSS. Every number on this page was counted in Solo's own source rather than copied from its documentation, and a few of them differ from what the documentation says.
What Solo is, in one paragraph
Solo is the third generation of the W3CSS theme. It is a standalone theme — its .info.yml declares base theme: false — and it ships a sub-theme, solo_subtheme, for sites that want to add their own CSS without losing the settings layer. It declares core_version_requirement: ^10.1 || ^11 || ^12 and php: ^8.1, so it installs on Drupal 10.1 upward and is already declared for Drupal 12.
The numbers, counted in the source
| Capability | Measured value | Where it is defined |
|---|---|---|
| Regions | 24, plus a hidden region | solo.info.yml |
| Colour inputs per region | 15 | _get_region_attributes() |
| Predefined colour schemes | 50, in 12 categories | _get_predefined_theme() |
| Site widths | 8 options, 800px to 2560px plus 100% | _get_site_width_options() |
| Site breakpoints | 5 (576, 768, 992, 1200, 1400px) | _get_site_breakpoints_options() |
| Menu breakpoints | 5, set independently of the site breakpoints | _get_menu_breakpoints_options() |
| Mega-menu layouts | 15, from one column to four | _create_megamenu_layout() |
| Column ratios per grouped region | 7 two-column, 3 three-column, 4 four-column | _create_region_layout_radio_*() |
| Google fonts | 51 global, 26 heading, 25 special, 25 for site name and title | _get_*_font_options() |
| Font Awesome | 4.7 local or CDN, 5.15.4 CDN, 6.5.1 CDN | _theme_settings_libraries_fonts.inc |
| Text animations | 24 for the page title, 24 for the site name | _get_animate_page_title(), _get_animate_site_name() |
| Social platforms | 17, including Bluesky, Mastodon, Threads and Drupal | _theme_settings_sm_icons.inc |
Where the published description is out of date
Two more are understated in the opposite direction from what you would expect — the global font size has 5 options and the region gap has 9, where the older description says 3 and 5.
Regions: single and grouped
Solo splits its regions into two kinds, and this is the part worth understanding before installing it.
Single regions stand alone in their own wrapper: highlighted, popup login block, fixed search block, header, primary sidebar menu, primary menu, welcome text, system messages, page title, breadcrumb and footer menu. All are visible site-wide except two — page title is hidden on the front page, and welcome text appears only there.
Grouped regions share a horizontal wrapper and divide the space between them: a top group of three containers, the main group of left sidebar, content and right sidebar, a bottom group of four, and a footer group of three. Each group takes a column ratio, and each region inside it can still override the group's colours and classes.
The practical effect is that a layout change that would normally mean a template edit — making the footer three columns at 25/50/25, collapsing the top group differently on mobile — is a select list. On a site where an editor rather than a developer owns the layout, that is the whole value proposition.
Colour: how the 15 inputs are applied
The 15 inputs per region are background, text, headings (h1 to h3), link and link hover, borders, form field background, menu link text and hover, menu link background and hover, and four button colours. They are applied in two passes: the global set is written onto the page wrapper first, then each region's own values override it. That means you can set a whole site from one panel and then differ one region without touching CSS.
If you would rather start from something finished, the 50 predefined schemes cover the same ground in one select. There is a fuller walkthrough in dynamic colour schemes with the Solo theme.
When Solo is the right choice, and when it is not
Good fit: a site whose design is "clean, on-brand and configurable" rather than bespoke; a team without a front-end developer; a multi-site estate that wants one theme configured differently per site; a rebuild where budget should go to content rather than CSS.
Poor fit: a design system with strict component specifications, an existing pattern library you must implement exactly, or a build where the front end is a JavaScript application and Drupal is only an API. In those cases you want a generated Starterkit theme and a Drupal themer, not a settings form.
It is a genuine trade. A theme with this many settings gives site builders real power and gives developers a large surface to reason about. Choose it because the settings are what you want, not because the feature list is long.
Getting started
Install it with Composer and enable it like any theme — there is a step-by-step version in how to install and customise the Solo theme in Drupal 10/11, and the shortest possible tour is in looking for a free Drupal theme? meet Solo.
Two things to do on day one. Put your own CSS in the sub-theme rather than in the custom-CSS box, so it stays in version control. And decide early whether your layout uses grouped regions or blocks placed into single regions, because mixing the two arbitrarily is what makes a Solo site hard to hand over.
Two companion projects are worth knowing about: Solo Utilities adds rule-based colour schemes by content type, taxonomy, role or URL, and per-content-type node form theming is covered in customising node edit forms per content type.
Common questions
Is Solo really free?
Yes. It is a contributed Drupal theme on drupal.org under the GPL, like every project listed on the portfolio. There is no paid tier and no licence key.
Will it work on Drupal 12?
Its .info.yml declares ^10.1 || ^11 || ^12, which is the theme stating support. As always, the honest test for any site is your contributed module list, not the theme.
Do I need a sub-theme?
If you will write any CSS at all, yes. Solo ships solo_subtheme for exactly this. Custom CSS pasted into theme settings works and is invisible to code review, backups and diffs.
Does all that configurability slow the site down?
The settings produce CSS custom properties on the wrapper and region elements, not extra requests. What does cost you is loading font libraries and Font Awesome you do not use — those are opt-in, so leave them off unless a design needs them.
Next steps
If you are choosing a theme, install Solo on a scratch site and spend twenty minutes in the settings form. You will know within that time whether the settings model fits how your team works, which is a faster answer than any feature list gives you.
If you would rather have the theme configured, extended or sub-themed properly for your brand, that is theming work — see Drupal services for how it is scoped, request a quote, or get in touch.