Solo is a free, accessible, responsive Drupal theme with 24 placeable regions, 51 colour schemes and 51 font options — all configurable from the admin UI without writing CSS. It runs on Drupal 10.1, 11 and 12, it is the third generation of the W3CSS Theme, and it is the theme I use on my own sites.
Why Solo exists
Most Drupal themes force a choice between two compromises. A minimal starter theme gives you clean markup and no features, so every layout decision becomes a CSS task. A heavyweight page-builder theme gives you features and buries your content in markup you cannot maintain, and locks you in when you want to leave.
Solo takes a third path: everything it does is exposed through theme settings, so a site builder can construct a layered, responsive page without touching CSS — while a developer who wants more gets 99 Twig templates to override and 288 library definitions to hook into.
I have maintained Solo and its two predecessors across production sites for years. The design goal has never changed: the theme should get out of the way. You should be able to hand a Solo site to a client and have them run it themselves.
How Solo compares to Drupal core themes
Regions are the honest measure of how much layout a theme gives you before you write any code. Counted directly from each theme's .info.yml:
| Theme | Declared regions | Role |
|---|---|---|
| Solo | 25 (24 placeable + hidden) | Contributed front-end theme |
| Olivero | 13 | Drupal core default front-end theme |
| Claro | 9 | Drupal core admin theme |
| Starterkit | 0 | Core scaffold — you declare your own |
Solo gives you nearly twice the regions of Drupal's default front-end theme. That is the difference between building a layered homepage with block placement and building it with a page-builder module.
Drupal version support
Solo declares core_version_requirement: ^10.1 || ^11 || ^12. It runs on Drupal 10.1 and later, on Drupal 11, and it is already compatible with Drupal 12 — so adopting it now does not create an upgrade problem later.
That matters more than it sounds. Theme incompatibility is one of the most common reasons a Drupal upgrade stalls, because a custom theme written against an older core has to be reworked before anything else can move. If you are planning a Drupal 11 or 12 upgrade and want the theme layer handled properly, see my Drupal services.
What you get
24 placeable regions, in two groups
Solo organises its regions as single regions and grouped regions. Single regions — header, page title, breadcrumb, content, the two sidebars, footer menu — behave the way you expect. Grouped regions come in sets of three and four: three top containers, four bottom containers, three footer containers. Each group lays itself out responsively, so placing three blocks in the top containers gives you a three-column band that collapses correctly on mobile without a single media query from you.
51 predefined colour schemes
Solo ships 51 complete colour schemes as stylesheets — Charcoal Gray, Berry Blue Dreams, Celestial Blue Depths, Blushing Magnolia and 47 more. Selecting one in theme settings recolours the entire site: menus, buttons, cards, form elements, links and hover states. Every colour is also a CSS custom property, so if none of the 51 fits, you override a handful of variables in one place rather than hunting selectors.
51 Google font options
Fonts work the same way: 51 Google font stylesheets ship with the theme and are selectable in theme settings, with independent controls for body text and for headings. Nothing loads that you have not selected, so you are not paying a performance cost for fonts you never use — a common failing in themes that bundle a font library wholesale.
Five breakpoints — and a separate set for the menu
Solo exposes five breakpoints at 576, 768, 992, 1200 and 1400 pixels, and it ships two independent sets: one for global layout and one for the main menu.
That separation is the detail experienced themers appreciate. The width at which your layout should reflow is rarely the width at which your menu should collapse — a site with eight top-level menu items needs the toggle much earlier than a site with three. In most themes you accept the compromise. In Solo you set them independently.
Three-level main menu, mega menu, and a sidebar menu
The main menu supports three levels of hierarchy and a mega-menu display mode. There is also a dedicated primary sidebar menu region, so a documentation-style site can run a persistent vertical navigation alongside the horizontal one without a contributed module.
Accessibility
Accessibility in Solo is in the templates, not bolted on. Measured in the theme source as shipped:
| Feature | Where | What it does |
|---|---|---|
| Skip links | 13 files | Keyboard users jump straight to main content |
| Visually hidden labels | 31 templates | Screen readers get the context sighted users read from layout |
| ARIA attributes | 21 templates | Menus, dialogs and interactive regions announce their state |
prefers-reduced-motion | 9 stylesheets | Animation is suppressed for users who asked their OS to reduce motion |
None of this requires configuration. It is the default behaviour of the theme. If you are working to WCAG or Section 508 requirements, that is a meaningful head start — though no theme makes a site compliant on its own, because your content and your editors' choices matter just as much.
Installation
Install with Composer:
composer require drupal/solo
Enable it and set it as the default theme:
drush theme:enable solo
drush config:set system.theme default solo -y
drush cr
Or through the admin interface: go to Appearance, find Solo, and choose Install and set as default, then clear caches.
Configuration
Every setting lives in one place — Appearance → Solo → Settings — grouped so you can work top to bottom once and then return to a single section later.
- Blueprint
- The overall page skeleton: which containers are active and how they stack.
- Global site settings
- Site-wide behaviour including the preloader, back-to-top control and formatted copyright.
- Libraries and fonts
- Font selection for body and headings, and which optional libraries load.
- Page wrapper
- Container widths and how wide content runs on large screens.
- Predefined colour scheme
- The 51 shipped schemes, plus the custom colour controls.
- Social media links
- Icons and destinations, without a contributed module.
- Single region settings
- Per-region background, text, link and border colours.
The three settings worth changing first are the colour scheme, the menu breakpoint, and the container widths. Those three account for most of what makes a Solo site look like yours rather than like the demo.
Sub-themes and companion modules
Three sibling sub-themes ship alongside Solo. Each is a sub-theme of W3CSS Theme — Solo's predecessor — rather than of Solo itself, each declares 23 regions, and each supports Drupal 9 through 12:
Two modules extend Solo directly: Solo Utilities adds utility classes and helpers, and Solo Copy Blocks duplicates configured blocks instead of making you rebuild them by hand.
For pages richer than block placement allows, Paragraphs Bundles is the companion module — 39 ready-made paragraph types. It is deliberately theme-agnostic: its CSS is un-layered so your editors' choices win under any theme, Solo included. It requires Drupal 11.3 or 12.
See it running
Solo powers unitedstarsofamerica.com, the live demonstration site. All 51 colour schemes are applied to real content on the colour schemes page, so you can see them before installing anything.
Common questions
Is Solo free?
Yes. Solo is GPL-licensed and published on drupal.org, like all my contributed work. There is no paid tier and no licence key.
Will Solo work on Drupal 12?
Yes. Solo declares ^10.1 || ^11 || ^12, so it is compatible with Drupal 12 today.
Do I need Paragraphs Bundles to use Solo?
No. Solo is complete on its own. Paragraphs Bundles is for building richer page layouts than block placement supports, and the two are designed to work together — but neither requires the other.
Can I change the colours if none of the 51 schemes fits?
Yes. Every colour is a CSS custom property. You override the variables you care about rather than fighting selectors, and per-region colour controls are in theme settings for the common cases.
Should I use Solo or build a custom sub-theme?
Use Solo directly if its settings get you where you need to go — most sites do not need more. Build a sub-theme when you need markup changes rather than configuration changes. Starting from Solo and sub-theming it is almost always faster than starting from Starterkit, because you inherit 24 regions and the responsive behaviour for free.
Need help with your Drupal theme?
Solo is free and always will be. If you would rather someone else handled the theming — a custom sub-theme, a migration from an older theme, or an upgrade to Drupal 11 or 12 — that is my day job. I maintain themes and modules on drupal.org and work on Drupal projects of every size.
See what a Drupal themer actually does, read about my Drupal services, or get in touch to talk about your project.