The easiest way to do this is to make the text a child of the div
with the background image. The change to min-size is so that if
the text wraps often enough on narrow screens, the header expands
vertically rather than the text spilling over.
Fixes#3259
This fixes a glitch highlighted in #3259, where the css class stopped applying
when the view was moved to a different controller.
We're moving to having each view responsible for their layout, and commonly having
override classes explicitly in the relevant views. So we can follow that pattern here.
This saves every header, list, paragraph etc having to sort out their own padding. The couple of instances where we want edge-to-edge can be acheived using the negative margin spacing utilities.
The padding is based on $spacer so that it can be adjusted automatically via bootstrap configuration.
This also means that we can remove many (mis-)uses of the browse-section class, which is only supposed to be for cases where there are multiple browse-sections in sequence (e.g. multiple nodes in the node history browse pages).
I also reworked the layout to use flex utilities and avoid using a white button border as a spacing hack. In future this will be better done with start/end utilities, avoiding the need to be fancy with negative margins.
I started refatoring the export inputs to use a flex grid instead of
floats, but this is perhaps the one place on the whole site where left/right
makes sense since even in rtl we want min_lon on the left.
Also rearrange dialog to fit with standard sidebar layouts, so that
the close icon and load buttons are not within the paragraph.
There may be a better way to construct this!
This makes it clearer that the classes are only for navigation menu
matters. Other things should be done on media queries, or ideally,
using bootstrap components like grids.
This has a side effect of removing the smaller font size from the
body when the navigation menu is in the small-nav state.
This uses bootstrap instead, ensuring the map shows before the
text on small screens, but to the right of it on md+ widths. The
height of the map also changes at this breakpoint instead of being
based on the menu width (body.small).
The account edit page was also changed to match the content_map
changes, and a full width map is now used. This can be changed, if
required, using bootstrap breakpoints but I like it as it is.
This enables forms to be converted one-by-one to bootstrap. Without this
refactoring, these global styles interfere with form control styling from
bootstrap.
The rearrangement of the search and directions styling is to solve CSS selector specitivity issues.
This cuts down on the complexity of having to use the `cycle` function
and makes the templates easier to read. CSS-based striping has been
around for many years.
The CSS is in order to keep our custom colour for striped tables.