Bulma is a **highly customizable CSS framework**. From colors to typography, spacing and sizes, forms and layouts, all parts of Bulma can be customized by the user.
Bulma's styles and variables are defined at several levels:
* Global Sass variables
* Component Sass variables
* Global CSS variables
* Component CSS variables
* Helper classes
All Bulma components are styled using **Sass variables** and **CSS Variables** (which are also called CSS custom properties). Read more about them:
* [on the Sass website](https://sass-lang.com/documentation/variables/)
* [on the MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties)
{% endcapture %}
{% include markdown.html content=markdown %}
{% include docs/elements/anchor.html name="Global Sass Variables" %}
{% capture markdown %}
Bulma uses Sass variables globally defines in 2 files located in the `utilities` folder:
* `initial-variables.scss` where you define variables by literal value
* **colors** like `$blue: hsl(229, 53%, 53%)`
* **font sizes** like `$size-1: 3rem`
* **dimensions** like `$block-spacing: 1.5rem`
* **breakpoints** like `$tablet: 769px`
* **other values** like `$easing: ease-out` or `$radius-large: 0.75rem`
* `derived-variables.scss` where variables are calculated from the values set in the previous file
* **primary colors**:
* `$primary`
* `$link`
* `$success`
* `$info`
* `$warning`
* `$dark`
* **utility colors**:
* `$background`
* `$border`
* `$code` and `$pre`
* `$shadow-color`
* **typography**:
* `$family-primary`
* `$family-secondary`
* `$family-code`
* `$size-small`
* `$size-normal`
* `$size-medium`
* `$size-large`
* color maps:
* `$colors`
* `$shades`
* `$sizes`
{% endcapture %}
{% include markdown.html content=markdown %}
{% include docs/elements/anchor.html name="Component Sass variables" %}
{% capture markdown %}
All Bulma components define its own Sass variables. For example, `components/breadcrumb.scss` define the following:
{% endcapture %}
{% include markdown.html content=markdown %}
{%
include docs/components/variables.html
tab="components"
subtab="breadcrumb"
hide_css_vars=true
%}
{% include docs/elements/anchor.html name="Global CSS Variables" %}
{% capture markdown %}
Bulma uses global CSS variables defined at the `:root` level. They are all prefixed with `bulma-`: