Styling incorrectly or breaking code on your site is not reversible and all changes immediately become live. See Branding Guidelines.
From the toolbar, select Site tools > Control Panel > Branding > Custom Site CSS.
There are six CSS fields that conditionally load CSS based on the user who is viewing the page:
Place code in the Admin CSS section to verify the effects of your code and test style changes before placing them into the All Roles CSS section.
Custom Site CSS does not have a Revision History, changes are final and cannot be reverted
Custom Site CSS supports regular CSS and LESS.
LESS advantages:
See LESS variables for options.
CSS and LESS validation on Save: To avoid compilation errors with the LESS preprocessor, all CSS or LESS code submitted in the Control Panel is validated before being saved.
LESS example: Add the following LESS variable to the custom CSS section of your choice to change the base color of your site from blue to orange.
@highlight-color: #faa319;
Before: | After: |
![]() |
![]() |
CSS on individual pages only supports CSS3, not LESS CSS. If you try to use page variables from the Control Panel or nested blocks on the individual page level, they will not work.
To manipulate the user interface on just one page, add CSS via the Editor. If you only need to load that CSS on that one page, this prevents a load time increase on all other site pages.
Individual Special pages may not be editable to add CSS directly, but every Special page includes a class injected in the body that lists the special page you are on. If you need to style something on a special page such as "/Special:Search", insert the class .columbia-special-search
before your desired selector. Refer to Body classes for a full list of available classes.
Styles are injected in your code in a certain order based on where you place them to override the previous styles accordingly and avoid as many !important items as possible.
Order of CSS compiled (items placed later will replace styles mentioned on layers below):
CSS applied in the header overrides the CSS applied on the page. Use different selectors or !important keywords when necessary.
Do not apply CSS to templates such as header, footer, or content header. Add the proper Body Class to target only the pages that are rendered, and include a comment in your All Roles CSS field to describe where the code applies. This method supports the addition of LESS, compiles without rendering comments, and minifies your code.
/* ===== FONTS ===== */ @default-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; @primary-font-color: #000; @heading-color: @primary-font-color; ... /* ===== COLORS ===== */ @highlight-color: #30b3f6; ... /* ===== BASE STYLES ===== */ body { } ... /* ===== HOME PAGE ===== */ -Should you decide you want to store it in here and not on the individual page /* ===== HEADER ===== */ ... /* ===== CONTENT HEADER ===== */ -Should you decide you even want one of these /* ===== CONTENT SIDETRAY ===== */ -Should you decide you even want one of these /* ===== BODY ===== */ ... /* ===== CONTENT FOOTER ===== */ -Should you decide you even want one of these /* ===== FOOTER ===== */ ...
padding-left: 1em;
, padding-right 1em;
, andpadding
-top
1.2em;
should be combined to padding: 1.2em 1em 0;
).:hover
, should include the body class .no-touch
to include functionality for the no-touch hover effect for mobile users..elm-header div:hover
should be .no-touch .elm-header div:hover
..elm-user-pro-member div:hover
should be .no-touch.elm-user-pro-member div:hover
..elm-header { .no-touch & div:hover { ... } }
"&" is a placeholder for the parent selector in nested LESS statements. To learn more about LESS, refer to LESS style sheet language.
.header-holder { /* Parent selector attributes first */ margin: 0 auto 1.5em; text-align: center; width: 100%; /* All subselectors next */ h4 { margin-top: .5em; } span { background-color: #fff; display: inline-block; font-size: 85%; font-weight: 600; margin: 5px 0; padding: 0 30px; text-transform: uppercase; } .line-spacer { background-color: #9a9a9a; height: 1px; margin-top: -1.5em; width: 100%; } /* All media queries afterwards (all grouped together) */ @media (min-width: 50em) { width: 83.3%; } @media (min-width: 65.25em) { width: 66%; } @media (min-width: 80em) { width: 58%; } }
Incorrect
dd.mt-listing-detailed-subpages { font-size: 90%; margin-top: .7em; color: #666; background: none; border: none; }
Correct
dd.mt-listing-detailed-subpages { background: none; border: none; color: #666; font-size: 90%; margin-top: .7em; }