@KlaasHDec, There is no single way how pages are laid out and styled and each theme (developer) may have its own way of doing things.
Basically it is an interplay between:
Settings allowed by the theme for different page/module types. See /user/themes/quark/blueprints/modular/features.yaml which has a property header.class. This setting can be set when creating a module based on the "Feature" template.
A template can set hardcoded classes to elements, or it can use classes set in the blueprint variables which are saved in the header of the page/module.
See /user/themes/quark/templates/modular/features.html.twig which uses hardcoded and variable classes:
Styling available in stylesheets.
See /user/themes/quark/scss/theme/_onepage.scss, in which class modular-features is being defined as:
CSS
.modular-features{text-align:center;...
}
And sometimes Twig variables are being defined in PHP. See /user/themes/quark/quark.php lines 32-54
In short, every theme (developer) has its own preferences. When using a downloaded theme, you'll mostly need to look at the theme's variables, its blueprints, its templates and its stylesheets. Just to make it easy...
When you want to make changes to templates and/or blueprints, you must use an inheriting theme, else your changes will be lost when a new version of the theme overrides the altered files.
It turns out somewhere deep down there is a python2 dependency (print rather than print()). Maybe via the npm version I have installed. That complicates things.
Going to scratch my head for a while...