bullframe.css 4.2.2 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/.browserslistrc +2 -4
  2. package/.editorconfig +8 -4
  3. package/.gitattributes +1 -0
  4. package/.prettierignore +1 -0
  5. package/.stylelintignore +3 -0
  6. package/.stylelintrc.json +5 -2
  7. package/CHANGELOG.md +14 -1
  8. package/README.md +369 -327
  9. package/dist/css/bullframe-classless-dark-prefers.css +378 -269
  10. package/dist/css/bullframe-classless-dark-prefers.css.map +1 -0
  11. package/dist/css/bullframe-classless-dark-prefers.min.css +3 -3
  12. package/dist/css/bullframe-classless-dark-prefers.min.css.map +1 -1
  13. package/dist/css/bullframe-classless-dark.css +384 -253
  14. package/dist/css/bullframe-classless-dark.css.map +1 -0
  15. package/dist/css/bullframe-classless-dark.min.css +3 -3
  16. package/dist/css/bullframe-classless-dark.min.css.map +1 -1
  17. package/dist/css/bullframe-classless-system-default.css +378 -269
  18. package/dist/css/bullframe-classless-system-default.css.map +1 -0
  19. package/dist/css/bullframe-classless-system-default.min.css +3 -3
  20. package/dist/css/bullframe-classless-system-default.min.css.map +1 -1
  21. package/dist/css/bullframe-classless.css +343 -229
  22. package/dist/css/bullframe-classless.css.map +1 -0
  23. package/dist/css/bullframe-classless.min.css +3 -2
  24. package/dist/css/bullframe-classless.min.css.map +1 -1
  25. package/dist/css/bullframe-dark-prefers.css +399 -464
  26. package/dist/css/bullframe-dark-prefers.css.map +1 -0
  27. package/dist/css/bullframe-dark-prefers.min.css +3 -2
  28. package/dist/css/bullframe-dark-prefers.min.css.map +1 -1
  29. package/dist/css/bullframe-dark.css +401 -375
  30. package/dist/css/bullframe-dark.css.map +1 -0
  31. package/dist/css/bullframe-dark.min.css +3 -2
  32. package/dist/css/bullframe-dark.min.css.map +1 -1
  33. package/dist/css/bullframe-system-default.css +396 -391
  34. package/dist/css/bullframe-system-default.css.map +1 -0
  35. package/dist/css/bullframe-system-default.min.css +3 -2
  36. package/dist/css/bullframe-system-default.min.css.map +1 -1
  37. package/dist/css/bullframe-utilities.css +69 -109
  38. package/dist/css/bullframe-utilities.css.map +1 -0
  39. package/dist/css/bullframe-utilities.min.css +2 -1
  40. package/dist/css/bullframe-utilities.min.css.map +1 -1
  41. package/dist/css/bullframe.css +370 -350
  42. package/dist/css/bullframe.css.map +1 -0
  43. package/dist/css/bullframe.min.css +3 -1
  44. package/dist/css/bullframe.min.css.map +1 -1
  45. package/dist/docs/demo/css/style.css +131 -0
  46. package/{docs/test-page → dist/docs/demo}/index.html +166 -358
  47. package/dist/docs/github-readme/bf-logo-full-dark.png +0 -0
  48. package/package.json +25 -27
  49. package/prettier.config.js +26 -0
  50. package/src/docs/demo/css/style.css +131 -0
  51. package/src/docs/demo/icons/android-chrome-192x192.png +0 -0
  52. package/src/docs/demo/icons/android-chrome-384x384.png +0 -0
  53. package/src/docs/demo/icons/apple-touch-icon.png +0 -0
  54. package/src/docs/demo/icons/favicon-16x16.png +0 -0
  55. package/src/docs/demo/icons/favicon-32x32.png +0 -0
  56. package/src/docs/demo/icons/favicon.ico +0 -0
  57. package/src/docs/demo/icons/mstile-150x150.png +0 -0
  58. package/src/docs/demo/icons/safari-pinned-tab.svg +28 -0
  59. package/src/docs/demo/images/logo.png +0 -0
  60. package/src/docs/demo/images/placeholder-img-130x140.jpg +0 -0
  61. package/src/docs/demo/images/placeholder-img-16x16.jpg +0 -0
  62. package/src/docs/demo/images/placeholder-img-800x400.jpg +0 -0
  63. package/src/docs/demo/images/video-poster.png +0 -0
  64. package/src/docs/demo/index.html +1152 -0
  65. package/src/docs/github-readme/bf-logo-full-dark.png +0 -0
  66. package/src/docs/github-readme/bf-logo-full-light.png +0 -0
  67. package/src/scss/bullframe-classless-dark-prefers.scss +2 -5
  68. package/src/scss/bullframe-classless-dark.scss +2 -5
  69. package/src/scss/bullframe-classless-system-default.scss +2 -5
  70. package/src/scss/bullframe-classless.scss +49 -43
  71. package/src/scss/bullframe-dark-prefers.scss +2 -4
  72. package/src/scss/bullframe-dark.scss +2 -4
  73. package/src/scss/bullframe-system-default.scss +2 -4
  74. package/src/scss/bullframe-utilities.scss +21 -61
  75. package/src/scss/bullframe.scss +49 -121
  76. package/src/scss/custom/_author-styles.scss +5 -0
  77. package/src/scss/forms/_forms-normalization.scss +68 -58
  78. package/src/scss/forms/_forms-styling-radio-checkbox.scss +64 -66
  79. package/src/scss/forms/_forms-styling-range.scss +88 -74
  80. package/src/scss/forms/_forms-styling-select.scss +18 -16
  81. package/src/scss/forms/_forms-styling.scss +38 -26
  82. package/src/scss/miscellaneous/_misc-accessibility.scss +10 -16
  83. package/src/scss/miscellaneous/_misc-anchors.scss +15 -13
  84. package/src/scss/miscellaneous/_misc-embedded-content.scss +14 -21
  85. package/src/scss/miscellaneous/_misc-focus.scss +0 -21
  86. package/src/scss/miscellaneous/_misc-interactive.scss +48 -0
  87. package/src/scss/miscellaneous/_misc-lists.scss +9 -5
  88. package/src/scss/miscellaneous/_misc-scrolling.scss +5 -0
  89. package/src/scss/miscellaneous/_misc-shame.scss +6 -0
  90. package/src/scss/miscellaneous/_misc-tables.scss +11 -5
  91. package/src/scss/mixins/_mixin-dark-prefers.scss +414 -0
  92. package/src/scss/mixins/_mixin-dark.scss +396 -0
  93. package/src/scss/mixins/_mixin-grid-flex.scss +0 -3
  94. package/src/scss/mixins/_mixin-layout.scss +1 -1
  95. package/src/scss/mixins/_mixin-texts.scss +2 -3
  96. package/src/scss/typography/_typography-blockquotes.scss +10 -5
  97. package/src/scss/typography/_typography-headings.scss +9 -8
  98. package/src/scss/typography/_typography-html-body.scss +17 -14
  99. package/src/scss/typography/_typography-misc.scss +19 -22
  100. package/src/scss/typography/_typography-monospaced-elements.scss +21 -12
  101. package/src/scss/utilities/_utility-buttons.scss +20 -18
  102. package/src/scss/utilities/_utility-debugging.scss +2 -88
  103. package/src/scss/utilities/_utility-embeds.scss +1 -1
  104. package/src/scss/utilities/_utility-filters.scss +0 -3
  105. package/src/scss/utilities/_utility-form-states.scss +30 -21
  106. package/src/scss/utilities/_utility-global-dark-classless.scss +3 -157
  107. package/src/scss/utilities/_utility-global-dark-prefers-classless.scss +3 -3
  108. package/src/scss/utilities/_utility-global-dark-prefers.scss +3 -3
  109. package/src/scss/utilities/_utility-global-dark-scrollbars.scss +11 -6
  110. package/src/scss/utilities/_utility-global-dark.scss +4 -213
  111. package/src/scss/utilities/_utility-global-system-default-classless.scss +3 -3
  112. package/src/scss/utilities/_utility-global-system-default.scss +3 -3
  113. package/src/scss/utilities/_utility-grid-system.scss +51 -115
  114. package/src/scss/utilities/_utility-layout.scss +7 -15
  115. package/src/scss/utilities/_utility-print.scss +5 -5
  116. package/src/scss/utilities/_utility-spacing.scss +42 -40
  117. package/src/scss/utilities/_utility-tables.scss +12 -18
  118. package/src/scss/utilities/_utility-texts.scss +48 -22
  119. package/src/scss/utilities/_utility-z-index.scss +1 -1
  120. package/src/scss/variables/_variables-breakpoints.scss +1 -0
  121. package/src/scss/variables/_variables-colors.scss +8 -5
  122. package/src/scss/variables/_variables-spacing.scss +3 -5
  123. package/src/scss/variables/_variables-texts.scss +5 -9
  124. package/vite.config.js +116 -0
  125. package/.nvmrc +0 -1
  126. package/.prettierrc +0 -19
  127. package/LICENSE +0 -21
  128. package/gulpfile.js +0 -67
  129. package/src/scss/miscellaneous/_misc-author-styles-in-css.scss +0 -76
  130. /package/{docs/test-page/assets → dist/docs/demo}/icons/android-chrome-192x192.png +0 -0
  131. /package/{docs/test-page/assets → dist/docs/demo}/icons/android-chrome-384x384.png +0 -0
  132. /package/{docs/test-page/assets → dist/docs/demo}/icons/apple-touch-icon.png +0 -0
  133. /package/{docs/test-page/assets → dist/docs/demo}/icons/favicon-16x16.png +0 -0
  134. /package/{docs/test-page/assets → dist/docs/demo}/icons/favicon-32x32.png +0 -0
  135. /package/{docs/test-page/assets → dist/docs/demo}/icons/favicon.ico +0 -0
  136. /package/{docs/test-page/assets → dist/docs/demo}/icons/mstile-150x150.png +0 -0
  137. /package/{docs/test-page/assets → dist/docs/demo}/icons/safari-pinned-tab.svg +0 -0
  138. /package/{docs/test-page/assets → dist/docs/demo}/images/logo.png +0 -0
  139. /package/{docs/test-page/assets → dist/docs/demo}/images/placeholder-img-130x140.jpg +0 -0
  140. /package/{docs/test-page/assets → dist/docs/demo}/images/placeholder-img-16x16.jpg +0 -0
  141. /package/{docs/test-page/assets → dist/docs/demo}/images/placeholder-img-800x400.jpg +0 -0
  142. /package/{docs/test-page/assets → dist/docs/demo}/images/video-poster.png +0 -0
  143. /package/{docs/assets/images/branding/logo-full.png → dist/docs/github-readme/bf-logo-full-light.png} +0 -0
package/README.md CHANGED
@@ -1,427 +1,479 @@
1
- # bullframe.css v4.x
1
+ # Bullframe CSS v5.x
2
2
 
3
3
  <p>
4
4
  <a href="https://www.npmjs.com/package/bullframe.css">
5
- <img src="https://img.shields.io/npm/v/bullframe.css.svg?style=flat-square" alt="NPM page">
5
+ <img src="https://img.shields.io/npm/v/bullframe.css.svg?style=flat-square" alt="NPM version">
6
6
  </a>
7
7
  <a href="https://github.com/marcop135/bullframe.css/commits">
8
- <img src="https://img.shields.io/github/last-commit/marcop135/bullframe.css?style=flat-square" alt="GitHub last commit">
8
+ <img src="https://img.shields.io/github/last-commit/marcop135/bullframe.css.svg?style=flat-square" alt="Last commit">
9
9
  </a>
10
10
  <a href="https://github.com/marcop135/bullframe.css/blob/master/LICENSE">
11
- <img src="https://img.shields.io/github/license/marcop135/bullframe.css.svg?style=flat-square" alt="MIT license">
11
+ <img src="https://img.shields.io/github/license/marcop135/bullframe.css.svg?style=flat-square" alt="MIT License">
12
12
  </a>
13
13
  </p>
14
14
 
15
- <br>
16
-
17
- ![bullframe.css logo](./docs/assets/images/branding/logo-full.png)
15
+ <picture>
16
+ <source media="(prefers-color-scheme: dark)" srcset="./dist/docs/github-readme/bf-logo-full-dark.png">
17
+ <source media="(prefers-color-scheme: light)" srcset="./dist/docs/github-readme/bf-logo-full-light.png">
18
+ <img alt="Bullframe CSS logo" src="./dist/docs/github-readme/bg-logo-full-light.png">
19
+ </picture>
18
20
 
19
21
  [https://github.com/marcop135/bullframe.css](https://github.com/marcop135/bullframe.css)
20
22
 
21
- bullframe.css is a Sass (SCSS) framework that works in a wide range of desktop and mobile browsers. It's a cross-browser and responsive collection of default HTML UI elements ([atoms](https://bradfrost.com/blog/post/atomic-web-design)) for your Sass project.
23
+ ---
24
+
25
+ ## What is Bullframe CSS?
26
+
27
+ Bullframe CSS is a lightweight, modern Sass (SCSS) framework designed for fast, responsive, and accessible front-end development.
28
+
29
+ Perfect for landing pages, marketing sites, micro-sites, blogs, docs, product listings, and more.
22
30
 
23
- You could be easily use it for marketing sites, landing pages, mini sites, micro sites, blog posts, e-commerce product listings, help and documentation, and more.
31
+ **Simply add it, start building, and stay in control.**
24
32
 
25
- **Just add bullframe.css in your webpage, write semantic HTML, and you are ready to go!**
33
+ ---
26
34
 
27
- ## Best features
35
+ ## Best Features
28
36
 
29
- - Wide range of desktop and mobile browsers support
30
- - Responsive-ness and style normalization *out-of-the-box*
31
- - Cross-browser form elements by default
32
- - Sass architecture
33
- - CSS BEM
37
+ - Desktop and mobile browser support
38
+ - Responsive layout and style normalization _out of the box_
39
+ - Cross-browser form elements
40
+ - JavaScript framework-agnostic
41
+ - Sass-based architecture with BEM methodology
34
42
  - Responsive typography
35
43
  - Dark mode and theming support
36
- - RTL support
37
- - Gulp-friendly
38
- - Classless-friendly
44
+ - RTL (right-to-left) support
45
+ - Vite-friendly
46
+ - Works well with classless setups
39
47
 
40
- ## What's included
48
+ ---
41
49
 
42
- You'll see something like this:
50
+ ## What's Included
43
51
 
44
52
  ```text
45
53
  bullframe.css/
46
- └── dist/
47
- ├── css/
48
- │ ├── bullframe-classless.css
49
- │ ├── bullframe-classless.min.css
50
- │ ├── ...
51
- │ ├── bullframe-dark.css
52
- │ ├── bullframe-dark.min.css
53
- │ ├── ...
54
- │ ├── bullframe-utilities.css
55
- │ ├── bullframe-utilities.min.css
56
- │ ├── ...
57
- │ ├── bullframe.css
58
- │ ├── bullframe.min.css
59
- │ ├── ...
60
- │ ├── bullframe-classless.css.map
61
- │ ├── bullframe.min.css.map
62
- │ ├── ...
63
- └── src/scss/
64
- └── forms/
65
- └── miscellaneous/
66
- └── mixins/
67
- └── typography/
68
- └── utilities/
69
- └── variables/
70
- ...
71
- ├── bullframe-classless.scss
72
- ├── bullframe-system-default.scss
73
- ├── bullframe-dark.scss
74
- ├── bullframe-utilities.scss
75
- ├── bullframe.scss
76
- ...
77
- └── gulpfile.js
78
- └── index.html
79
- ...
54
+ ├── dist/
55
+ │ └── css/
56
+ │ ├── bullframe-classless.css
57
+ │ ├── bullframe-classless.min.css
58
+ │ ├── ...
59
+ │ ├── bullframe-dark.css
60
+ │ ├── bullframe-dark.min.css
61
+ │ ├── ...
62
+ │ ├── bullframe-utilities.css
63
+ │ ├── bullframe-utilities.min.css
64
+ │ ├── ...
65
+ │ ├── bullframe.css
66
+ │ ├── bullframe.min.css
67
+ │ ├── ...
68
+ │ ├── bullframe-classless.css.map
69
+ │ ├── bullframe.min.css.map
70
+ │ ├── ...
71
+ ├── src/scss/
72
+ │ ├── forms/
73
+ │ ├── miscellaneous/
74
+ │ ├── mixins/
75
+ │ ├── typography/
76
+ │ ├── utilities/
77
+ │ ├── variables/
78
+ │ ├── bullframe-classless.scss
79
+ │ ├── bullframe-dark.scss
80
+ │ ├── bullframe-utilities.scss
81
+ │ ├── bullframe-system-default.scss
82
+ │ ├── bullframe.scss
83
+ │ └── ...
84
+ ├── vite.config.js
85
+ ├── index.html
86
+ └── ...
80
87
  ```
81
88
 
82
- ## Getting started
89
+ ---
83
90
 
84
- ### Download
85
-
86
- [Download the latest release](https://github.com/marcop135/bullframe.css/archive/master.zip)
91
+ ## Getting Started
87
92
 
88
93
  ### CDN
89
94
 
90
- JSDelivr
95
+ Use JSDelivr CDN to include Bullframe CSS quickly:
91
96
 
92
97
  ```html
93
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@^4.0.0">
98
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@5" />
94
99
  ```
95
100
 
96
- ### npm
101
+ ### HTML Starter Template
102
+
103
+ <details><summary>Open HTML</summary>
104
+
105
+ <!DOCTYPE html>
106
+ <html lang="en">
107
+ <head>
108
+ <meta charset="utf-8">
109
+ <title>Bullframe CSS HTML Starter Template</title>
110
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
111
+
112
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@5/dist/css/bullframe.min.css">
113
+ </head>
114
+ <body>
115
+ <div class="bf-container">
116
+ <!-- Add your site or application content here -->
117
+ <p>Hello world! This is a Bullframe CSS starter template.</p>
118
+ </div>
119
+ </body>
120
+ </html>
121
+
122
+ </details>
123
+
124
+ ### HTML Classless Starter Template
125
+
126
+ > [!NOTE]
127
+ > What does "classless" mean?
128
+ > No utility classes or extra markup needed. Just write semantic HTML and get clean, normalized styles.
129
+
130
+ <details><summary>Open HTML</summary>
131
+
132
+ <!DOCTYPE html>
133
+ <html lang="en">
134
+ <head>
135
+ <meta charset="utf-8">
136
+ <title>Bullframe CSS Classless Starter Template</title>
137
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
138
+
139
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@5/dist/css/bullframe-classless.min.css">
140
+
141
+ <!-- Optional: center page content by default -->
142
+ <style>
143
+ body {
144
+ margin-left: auto;
145
+ margin-right: auto;
146
+ padding: 1.5rem;
147
+ max-width: 80rem;
148
+ }
149
+ </style>
150
+ </head>
151
+ <body>
152
+ <div class="bf-container">
153
+ <!-- Add your site or application content here -->
154
+ <p>Hello world! This is a Bullframe CSS Classless starter template.</p>
155
+ </div>
156
+ </body>
157
+ </html>
158
+
159
+ </details>
160
+
161
+ ---
97
162
 
98
- Once you have installed [Node.js](https://nodejs.org/en/download/), you can run this command to install bullframe.css into your project:
163
+ ### npm
99
164
 
100
- ``` bash
101
- # create a package.json file
102
- # $ npm init
165
+ Make sure you have [Node.js](https://nodejs.org/en/download/) installed. Then run:
103
166
 
167
+ ```bash
168
+ # Install Bullframe CSS
104
169
  npm install bullframe.css
105
170
  ```
106
171
 
107
- [What is Node?](https://en.m.wikipedia.org/wiki/Nodejs)
172
+ ---
108
173
 
109
- [What is npm?](https://www.npmjs.com/get-npm)
174
+ ### Download
110
175
 
111
- ### Gulp.js
176
+ [Download the latest release](https://github.com/marcop135/bullframe.css/archive/master.zip)
112
177
 
113
- After installing bullframe.css from npm, you may use [gulp.js](https://gulpjs.com/docs/en/getting-started/quick-start) to re-compile all files, and customize your Sass project as needed.
178
+ ---
114
179
 
115
- ``` bash
116
- # navigate to /node_modules/bullframe.css
180
+ ## Customization
117
181
 
118
- # install all dependencies
119
- npm install
182
+ ### Theming
120
183
 
121
- # run gulp and have fun!
122
- gulp
123
- ```
184
+ Bullframe provides three builds for theming:
124
185
 
125
- [What is gulp.js?](https://en.m.wikipedia.org/wiki/Gulp.js)
186
+ 1. `bullframe.css` — light theme
187
+ 2. `bullframe-dark.css` — dark theme
188
+ 3. `bullframe-system-default.css` — theme based on user system preference ([`prefers-color-scheme`](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme))
126
189
 
127
- ### HTML
190
+ #### Light Theme CDN (Default)
128
191
 
129
192
  ```html
130
- <!doctype html>
131
- <html lang="en">
132
- <head>
133
- <meta charset="utf-8">
134
- <title>bullframe.css starter template</title>
135
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
136
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@4/dist/css/bullframe.min.css">
137
- </head>
138
- <body>
139
- <div class="bf-container">
140
- <!-- Add your site or application content here -->
141
- <p>Hello world! This is a bullframe.css starter template</p>
142
- </div>
143
- </body>
144
- </html>
193
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@5/dist/css/bullframe.min.css">
145
194
  ```
146
195
 
147
- ## Codepen
148
-
149
- Take a look at this [CodePen collection](https://codepen.io/collection/nxpjRe) and fork a ready-made templates of your choice.
150
-
151
- ### Use bullframe.css as a CodePen template
152
-
153
- Click on the links below, and start a new pen in CodePen using bullframe.css.
154
-
155
- - [Light Theme (default)](https://codepen.io/pen?template=WNrwNNM)
156
- - [Dark Theme](https://codepen.io/pen?template=ExPmzBV)
157
- - [System Default (`prefers-color-scheme`)](https://codepen.io/pen?template=NWxjVQO)
158
-
159
- ## Customization
160
-
161
- ### No classes (class-less)
162
-
163
- What means "classless"?
164
- No classes, no utilities. Feel free to add yours and create your custom components.
165
- Read more on [css-tricks.com](https://css-tricks.com/no-class-css-frameworks/).
166
-
167
- Just drop the snippet below in the `<head>` of your webpage, and the job is done!
168
- Write semantic HTML and get nice styles and cross-browser normalization.
196
+ #### Dark Theme CDN
169
197
 
170
198
  ```html
171
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@4/dist/css/bullframe-classless.min.css">
172
-
173
- <!-- Center the page (optional) -->
174
- <style>
175
- body {
176
- margin-left: auto;
177
- margin-right: auto;
178
- padding: 1.5rem;
179
- max-width: 80rem;
180
- }
181
- </style>
199
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@5/dist/css/bullframe-dark.min.css">
182
200
  ```
183
201
 
184
- ### Theming
185
-
186
- There are three builds available:
187
-
188
- 1. `bullframe.css`: the light theme
189
- 2. `bullframe-dark.css`: the dark theme
190
- 3. `bullframe-system-default.css`: the theme set by the user as default (which can be light or dark). Read more [on MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme).
191
-
192
- #### `bullframe.css`
193
-
194
- CDN
202
+ #### System-default Theme CDN
195
203
 
196
204
  ```html
197
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@4/dist/css/bullframe.min.css">
205
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@5/dist/css/bullframe-system-default.min.css">
198
206
  ```
199
207
 
200
- #### `bullframe-dark.css`
208
+ ### Customise and Rebuild All Styles
201
209
 
202
- CDN
210
+ After installing Bullframe CSS, you can use [Vite.js](https://vite.dev) commands to rebuild the framework as you prefer, adding your custom Sass variables and styles:
203
211
 
204
- ```html
205
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@4/dist/css/bullframe-dark.min.css">
206
- ```
212
+ ```bash
213
+ # Build production-ready site/app
214
+ npm run build
207
215
 
208
- #### `bullframe-system-default.css`
209
-
210
- CDN
211
-
212
- ```html
213
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@4/dist/css/bullframe-system-default.min.css">
216
+ # Preview production build locally
217
+ npm run preview
214
218
  ```
215
219
 
216
- ### Utilities - Reference
220
+ ---
217
221
 
218
- A set of utilities for bullframe.css customisation:
222
+ ### Utilities
223
+
224
+ Bullframe CSS offers a comprehensive set of utility classes for fine-grained control over your layout, spacing, typography, and more. Explore each category below for detailed reference.
219
225
 
220
226
  #### Grid system
221
227
 
222
- Breakpoints: 576, 768, 992 and 1200 pixels.
223
-
224
- | Utility class | Description |
225
- | ------------- | ----------- |
226
- | `.bf-container` | Sets a centered block container with a `max-width` of 1140px, and a custom padding |
227
- | `.bf-container--fluid` | Sets a fluid centered block container with a custom padding |
228
- | `.bf-container--break-xs` | Collapses all the columns when the viewport is 575px and below |
229
- | `.bf-container--break-md` | Collapses all the columns when the viewport is 767px and below |
230
- | `.bf-container--break-lg` | Collapses all the columns when the viewport is 991px and below |
231
- | `.bf-row` | Sets a block container with a custom negative margin |
232
- | `.bf-col-1` | Sets a floated container with a custom padding and a `width` of `8.3333%` |
233
- | `.bf-col-2` | Sets a floated container with a custom padding and a `width` of `16.666666666666664%` |
234
- | `.bf-col-3` | Sets a floated container with a custom padding and a `width` of `25%` |
235
- | `.bf-col-4` | Sets a floated container with a custom padding and a `width` of `33.33333333333333%` |
236
- | `.bf-col-5` | Sets a floated container with a custom padding and a `width` of `41.66666666666667%` |
237
- | `.bf-col-6` | Sets a floated container with a custom padding and a `width` of `50%` |
238
- | `.bf-col-7` | Sets a floated container with a custom padding and a `width` of `58.333333333333336%` |
239
- | `.bf-col-8` | Sets a floated container with a custom padding and a `width` of `66.66666666666666%` |
240
- | `.bf-col-9` | Sets a floated container with a custom padding and a `width` of `75%` |
241
- | `.bf-col-10` | Sets a floated container with a custom padding and a `width` of `83.33333333333334%` |
242
- | `.bf-col-11` | Sets a floated container with a custom padding and a `width` of `91.66666666666666%` |
243
- | `.bf-col-12` | Sets a floated container with a custom padding and a `width` of `100%` |
244
- | `.no-gutters` | Set `margin-left`, `margin-right`, `padding-left` and `padding-right` to `0` — to be applied to row and column containers |
228
+ <details><summary>Open utilities</summary>
229
+
230
+ | Variable | Value |
231
+ | -------------------- | ------ |
232
+ | `$bf-breakpoint-xs` | 0 |
233
+ | `$bf-breakpoint-sm` | 576px |
234
+ | `$bf-breakpoint-md` | 768px |
235
+ | `$bf-breakpoint-lg` | 992px |
236
+ | `$bf-breakpoint-xl` | 1200px |
237
+ | `$bf-breakpoint-xxl` | 1400px |
238
+
239
+ | Utility class | Description |
240
+ | ------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
241
+ | `.bf-container` | Sets a centered block container with a `max-width` of 1140px, and a custom padding |
242
+ | `.bf-container--fluid` | Sets a fluid centered block container with a custom padding |
243
+ | `.bf-container--break-xs` | Collapses all the columns when the viewport is 575px and below |
244
+ | `.bf-container--break-md` | Collapses all the columns when the viewport is 767px and below |
245
+ | `.bf-container--break-lg` | Collapses all the columns when the viewport is 991px and below |
246
+ | `.bf-row` | Sets a block container with a custom negative margin |
247
+ | `.bf-col-1` | Sets a floated container with a custom padding and a `width` of `8.3333%` |
248
+ | `.bf-col-2` | Sets a floated container with a custom padding and a `width` of `16.666666666666664%` |
249
+ | `.bf-col-3` | Sets a floated container with a custom padding and a `width` of `25%` |
250
+ | `.bf-col-4` | Sets a floated container with a custom padding and a `width` of `33.33333333333333%` |
251
+ | `.bf-col-5` | Sets a floated container with a custom padding and a `width` of `41.66666666666667%` |
252
+ | `.bf-col-6` | Sets a floated container with a custom padding and a `width` of `50%` |
253
+ | `.bf-col-7` | Sets a floated container with a custom padding and a `width` of `58.333333333333336%` |
254
+ | `.bf-col-8` | Sets a floated container with a custom padding and a `width` of `66.66666666666666%` |
255
+ | `.bf-col-9` | Sets a floated container with a custom padding and a `width` of `75%` |
256
+ | `.bf-col-10` | Sets a floated container with a custom padding and a `width` of `83.33333333333334%` |
257
+ | `.bf-col-11` | Sets a floated container with a custom padding and a `width` of `91.66666666666666%` |
258
+ | `.bf-col-12` | Sets a floated container with a custom padding and a `width` of `100%` |
259
+ | `.no-gutters` | Set `margin-left`, `margin-right`, `padding-left` and `padding-right` to `0` — to be applied to row and column containers |
260
+
261
+ </details>
245
262
 
246
263
  #### Layout
247
264
 
248
- | Utility class | Description |
249
- | ------------- | ------------- |
250
- | `.bf-clearfix` | Clears the float, [read more](http://nicolasgallagher.com/micro-clearfix-hack/) |
251
- | `.bf-hide` | Sets the `display` to `none` |
252
- | `.bf-hidden` | Sets the `display` to `none` and the `visibility` to `hidden` |
253
- | `.bf-text-hide` | Hides a text (AKA CSS image replacement) using a font `hack` and a combination o properties |
254
- | `.bf-sr-only` | Shows a text only if screen reader |
255
- | `.bf-sr-only.focusable` | Shows a text only if screen reader and focused |
256
- | `.bf-invisible` | Sets the `visibility` to `hidden` |
257
- | `.bf-visible` | Sets the `visibility` to `visible` |
258
- | `.bf-display-block` | Sets the `display` to `block` |
259
- | `.bf-display-block-center` | Sets the `display` to `block`, the left/right margins to `auto` and `text-align` to center |
260
- | `.bf-display-inline` | Sets the `display` to `inline` |
261
- | `.bf-display-inline-block` | Sets the `display` to `inline-block` |
262
- | `.bf-display-flex` | Sets the `display` to `flex` |
263
- | `.bf-display-inline-flex` | Sets the `display` to `inline-flex` |
264
- | `.bf-display-flex--justify-start` | Sets `justify-content` to `flex-start` |
265
- | `.bf-display-flex--justify-end` | Sets `justify-content` to `flex-end` |
266
- | `.bf-display-flex--justify-center` | Sets `justify-content` to `center` |
267
- | `.bf-display-flex--wrap` | Sets `flex-wrap` to `wrap` |
268
- | `.bf-display-flex--nowrap` | Sets `flex-wrap` to `nowrap` |
269
- | `.bf-float-left` | Sets the `float` to `left` |
270
- | `.bf-float-right` | Sets the `float` to `right` |
271
- | `.bf-position-fixed` | Sets the `position` to `fixed` |
272
- | `.bf-align-center-unknown` | Sets the `position` to `relative` |
273
- | `.bf-align-center-unknown--item` | Centers an element with unknown height and width to a relative positioned parent, IE10+, [read more](https://css-tricks.com/centering-css-complete-guide) |
274
- | `.bf-align-center-flex` | Centers all elements with known height and width to a flexbox container, IE10+, [read more](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Aligning_Items_in_a_Flex_Container) |
275
- | `.bf-width-25` | Sets the `width` to `25%` |
276
- | `.bf-width-33` | Sets the `width` to `33.33333333333333%` |
277
- | `.bf-width-50` | Sets the `width` to `50%` |
278
- | `.bf-width-75` | Sets the `width` to `75%` |
279
- | `.bf-width-100` | Sets the `width` to `100%` |
280
- | `.bf-width-auto` | Sets the `width` to `auto` |
281
- | `.bf-z-index-1` | Set `z-index` to 1 |
282
- | `.bf-z-index-2` | Set `z-index` to 2 |
283
- | `.bf-z-index-3` | Set `z-index` to 3 |
284
- | `.bf-z-index-4` | Set `z-index` to 4 |
285
- | `.bf-z-index-5` | Set `z-index` to 5 |
286
- | `.bf-z-index-6` | Set `z-index` to 6 |
287
- | `.bf-z-index-7` | Set `z-index` to 7 |
288
- | `.bf-z-index-8` | Set `z-index` to 8 |
289
- | `.bf-z-index-9` | Set `z-index` to 9 |
290
- | `.bf-z-index-10` | Set `z-index` to 10 |
291
- | `.bf-z-index-20` | Set `z-index` to 20 |
292
- | `.bf-z-index-30` | Set `z-index` to 30 |
293
- | `.bf-z-index-40` | Set `z-index` to 40 |
294
- | `.bf-z-index-50` | Set `z-index` to 50 |
295
- | `.bf-z-index-60` | Set `z-index` to 60 |
296
- | `.bf-z-index-70` | Set `z-index` to 70 |
297
- | `.bf-z-index-80` | Set `z-index` to 80 |
298
- | `.bf-z-index-90` | Set `z-index` to 90 |
299
- | `.bf-z-index-100` | Set `z-index` to 100 |
300
- | `.bf-z-index-200` | Set `z-index` to 200 |
301
- | `.bf-z-index-300` | Set `z-index` to 300 |
265
+ <details><summary>Open utilities</summary>
266
+
267
+ | Utility class | Description |
268
+ | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
269
+ | `.bf-clearfix` | Clears the float, [read more](http://nicolasgallagher.com/micro-clearfix-hack/) |
270
+ | `.bf-hide` | Sets the `display` to `none` |
271
+ | `.bf-hidden` | Sets the `display` to `none` and the `visibility` to `hidden` |
272
+ | `.bf-text-hide` | Hides a text (AKA CSS image replacement) using a font `hack` and a combination o properties |
273
+ | `.bf-sr-only` | Shows a text only if screen reader |
274
+ | `.bf-sr-only.focusable` | Shows a text only if screen reader and focused |
275
+ | `.bf-invisible` | Sets the `visibility` to `hidden` |
276
+ | `.bf-visible` | Sets the `visibility` to `visible` |
277
+ | `.bf-display-block` | Sets the `display` to `block` |
278
+ | `.bf-display-block-center` | Sets the `display` to `block`, the left/right margins to `auto` and `text-align` to center |
279
+ | `.bf-display-inline` | Sets the `display` to `inline` |
280
+ | `.bf-display-inline-block` | Sets the `display` to `inline-block` |
281
+ | `.bf-display-flex` | Sets the `display` to `flex` |
282
+ | `.bf-display-inline-flex` | Sets the `display` to `inline-flex` |
283
+ | `.bf-display-flex--justify-start` | Sets `justify-content` to `flex-start` |
284
+ | `.bf-display-flex--justify-end` | Sets `justify-content` to `flex-end` |
285
+ | `.bf-display-flex--justify-center` | Sets `justify-content` to `center` |
286
+ | `.bf-display-flex--wrap` | Sets `flex-wrap` to `wrap` |
287
+ | `.bf-display-flex--nowrap` | Sets `flex-wrap` to `nowrap` |
288
+ | `.bf-float-left` | Sets the `float` to `left` |
289
+ | `.bf-float-right` | Sets the `float` to `right` |
290
+ | `.bf-position-fixed` | Sets the `position` to `fixed` |
291
+ | `.bf-align-center-unknown` | Sets the `position` to `relative` |
292
+ | `.bf-align-center-unknown--item` | Centers an element with unknown height and width to a relative positioned parent, IE10+, [read more](https://css-tricks.com/centering-css-complete-guide) |
293
+ | `.bf-align-center-flex` | Centers all elements with known height and width to a flexbox container, IE10+, [read more](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Aligning_Items_in_a_Flex_Container) |
294
+ | `.bf-width-25` | Sets the `width` to `25%` |
295
+ | `.bf-width-33` | Sets the `width` to `33.33333333333333%` |
296
+ | `.bf-width-50` | Sets the `width` to `50%` |
297
+ | `.bf-width-75` | Sets the `width` to `75%` |
298
+ | `.bf-width-100` | Sets the `width` to `100%` |
299
+ | `.bf-width-auto` | Sets the `width` to `auto` |
300
+ | `.bf-z-index-1` | Set `z-index` to 1 |
301
+ | `.bf-z-index-2` | Set `z-index` to 2 |
302
+ | `.bf-z-index-3` | Set `z-index` to 3 |
303
+ | `.bf-z-index-4` | Set `z-index` to 4 |
304
+ | `.bf-z-index-5` | Set `z-index` to 5 |
305
+ | `.bf-z-index-6` | Set `z-index` to 6 |
306
+ | `.bf-z-index-7` | Set `z-index` to 7 |
307
+ | `.bf-z-index-8` | Set `z-index` to 8 |
308
+ | `.bf-z-index-9` | Set `z-index` to 9 |
309
+ | `.bf-z-index-10` | Set `z-index` to 10 |
310
+ | `.bf-z-index-20` | Set `z-index` to 20 |
311
+ | `.bf-z-index-30` | Set `z-index` to 30 |
312
+ | `.bf-z-index-40` | Set `z-index` to 40 |
313
+ | `.bf-z-index-50` | Set `z-index` to 50 |
314
+ | `.bf-z-index-60` | Set `z-index` to 60 |
315
+ | `.bf-z-index-70` | Set `z-index` to 70 |
316
+ | `.bf-z-index-80` | Set `z-index` to 80 |
317
+ | `.bf-z-index-90` | Set `z-index` to 90 |
318
+ | `.bf-z-index-100` | Set `z-index` to 100 |
319
+ | `.bf-z-index-200` | Set `z-index` to 200 |
320
+ | `.bf-z-index-300` | Set `z-index` to 300 |
321
+
322
+ </details>
302
323
 
303
324
  #### Spacing
304
325
 
305
- | Utility class | Description |
306
- | ------------- | ----------- |
307
- | `.bf-m-0` | Sets the `margin` to `0` |
308
- | `.bf-m-t-0` | Sets the `margin-top` to `0` |
309
- | `.bf-m-b-0` | Sets the `margin-bottom` to `0` |
310
- | `.bf-m-l-0` | Sets the `margin-left` to `0` |
311
- | `.bf-m-r-0` | Sets the `margin-right` to `0` |
312
- | `.bf-m-b-1` | Sets the `margin-bottom` to a custom value that matches the grid system gutter |
313
- | `.bf-m-b-2` | Sets the `margin-bottom` to a custom value |
314
- | `.bf-m-b-3` | Sets the `margin-bottom` to a custom value |
315
- | `.bf-m-b-4` | Sets the `margin-bottom` to a custom value |
316
- | `.bf-p-0` | Sets the `padding` to `0` |
317
- | `.bf-p-t-0` | Sets the `padding-top` to `0` |
318
- | `.bf-p-b-0` | Sets the `padding-bottom` to `0` |
319
- | `.bf-p-l-0` | Sets the `padding-left` to `0` |
320
- | `.bf-p-r-0` | Sets the `padding-right` to `0` |
321
- | `.bf-p-t-1` | Sets the `padding-top` to a custom value that matches the grid system gutter |
322
- | `.bf-p-t-2` | Sets the `padding-top` to a custom value |
323
- | `.bf-p-t-3` | Sets the `padding-top` to a custom value |
324
- | `.bf-p-t-4` | Sets the `padding-top` to a custom value |
325
- | `.bf-p-t-1` | Sets the `padding-bottom` to a custom value that matches the grid system gutter |
326
- | `.bf-p-b-2` | Sets the `padding-bottom` to a custom value |
327
- | `.bf-p-b-3` | Sets the `padding-bottom` to a custom value |
328
- | `.bf-p-b-4` | Sets the `padding-bottom` to a custom value |
326
+ <details><summary>Open utilities</summary>
327
+
328
+ | Utility class | Description |
329
+ | ------------- | ----------------------------------------------------------------------------------------- |
330
+ | `.bf-m-0` | Sets the `margin` to `0` |
331
+ | `.bf-m-t-0` | Sets the `margin-top` to `0` |
332
+ | `.bf-m-t-1` | Sets the `margin-top` to a custom medium spacing value (`$bf-spacing-md-rem`) |
333
+ | `.bf-m-t-2` | Sets the `margin-top` to a custom large spacing value (`$bf-spacing-lg-rem`) |
334
+ | `.bf-m-t-3` | Sets the `margin-top` to a custom extra large spacing value (`$bf-spacing-xl-rem`) |
335
+ | `.bf-m-t-4` | Sets the `margin-top` to a custom extra extra large spacing value (`$bf-spacing-xxl-rem`) |
336
+ | `.bf-m-b-0` | Sets the `margin-bottom` to `0` |
337
+ | `.bf-m-b-1` | Sets the `margin-bottom` to a custom value that matches the grid system gutter |
338
+ | `.bf-m-b-2` | Sets the `margin-bottom` to a custom value |
339
+ | `.bf-m-b-3` | Sets the `margin-bottom` to a custom value |
340
+ | `.bf-m-b-4` | Sets the `margin-bottom` to a custom value |
341
+ | `.bf-m-l-0` | Sets the `margin-left` to `0` |
342
+ | `.bf-m-r-0` | Sets the `margin-right` to `0` |
343
+ | `.bf-p-0` | Sets the `padding` to `0` |
344
+ | `.bf-p-t-0` | Sets the `padding-top` to `0` |
345
+ | `.bf-p-b-0` | Sets the `padding-bottom` to `0` |
346
+ | `.bf-p-l-0` | Sets the `padding-left` to `0` |
347
+ | `.bf-p-r-0` | Sets the `padding-right` to `0` |
348
+ | `.bf-p-t-1` | Sets the `padding-top` to a custom value that matches the grid system gutter |
349
+ | `.bf-p-t-2` | Sets the `padding-top` to a custom value |
350
+ | `.bf-p-t-3` | Sets the `padding-top` to a custom value |
351
+ | `.bf-p-t-4` | Sets the `padding-top` to a custom value |
352
+ | `.bf-p-t-1` | Sets the `padding-bottom` to a custom value that matches the grid system gutter |
353
+ | `.bf-p-b-2` | Sets the `padding-bottom` to a custom value |
354
+ | `.bf-p-b-3` | Sets the `padding-bottom` to a custom value |
355
+ | `.bf-p-b-4` | Sets the `padding-bottom` to a custom value |
356
+
357
+ </details>
329
358
 
330
359
  #### Texts
331
360
 
332
- | Utility class | Description |
333
- | ------------- | ----------- |
334
- | `.bf-t-transform-uppercase` | Sets `transform` to a `uppercase` (AKA capitalizes a text) |
335
- | `.bf-t-transform-none` | Sets `transform` to a `none` |
336
- | `.bf-t-left` | Sets `text-align` to a `left` |
337
- | `.bf-t-center` | Sets `text-align` to a `center` |
338
- | `.bf-t-right` | Sets `text-align` to a `right` |
339
- | `.bf-t-shadow` | Sets a basic text shadow |
340
- | `.bf-t-italic` | Sets `font-style` to a `italic` |
341
- | `.bf-t-style-normal` | Sets `font-style` to a `normal` |
342
- | `.bf-t-weight-300` | Sets `font-weight` to `300` (AKA light) |
343
- | `.bf-t-weight-400` | Sets `font-weight` to `400` (AKA normal) |
344
- | `.bf-t-weight-500` | Sets `font-weight` to `500` (AKA medium) |
345
- | `.bf-t-weight-600` | Sets `font-weight` to `600` (AKA semi-bold) |
346
- | `.bf-t-weight-700` | Sets `font-weight` to `700` (AKA bold) |
347
- | `.bf-t-weight-800` | Sets `font-weight` to `800` (AKA black) |
348
- | `.bf-text-break` | Sets `word-wrap` to a `break-word`, applied by default to the `body` |
349
- | `.bf-t-truncate` | Truncates a very long text and replaces the missing text with an ellipsis |
350
- | `.bf-t-truncate--multiline-2` | Truncates a long doubled line text and replaces the missing text with an ellipsis (no IE) |
351
- | `.bf-t-truncate--multiline-3` | Truncates a long tripled line text and replaces the missing text with an ellipsis (no IE) |
352
- | `.bf-no-select` | Blocks user text selection |
353
- | `.bf-font-sans-serif` | Sets `font-family` to a `sans-serif`, and a combination of cross-browser system UI sans-serif font families |
354
- | `.bf-font-serif` | Sets `font-family` to a `serif`, and a combination of cross-browser system UI serif font families |
355
- | `.bf-font-monospace` | Sets `font-family` to a `monospace`, a combination of widely supported monospaced font families |
356
- | `.bf-h1` | Matches the font styling of a `h1` |
357
- | `.bf-h2` | Matches the font styling of a `h2` |
358
- | `.bf-h3` | Matches the font styling of a `h3` |
359
- | `.bf-h4` | Matches the font styling of a `h4` |
360
- | `.bf-h5` | Matches the font styling of a `h5` |
361
- | `.bf-h6` | Matches the font styling of a `h6` |
362
- | `.bf-lead` | Sets `font-size` to `125%` |
363
- | `.bf-responsive-typography` | Scales `font-size` from a minimum of `1.6rem` (AKA 16px) to a maximum of `1.9rem` using `calc` and some `CSS custom properties` |
361
+ <details><summary>Open utilities</summary>
362
+
363
+ | Utility class | Description |
364
+ | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
365
+ | `.bf-t-transform-uppercase` | Sets `transform` to a `uppercase` (AKA capitalizes a text) |
366
+ | `.bf-t-transform-none` | Sets `transform` to a `none` |
367
+ | `.bf-t-left` | Sets `text-align` to a `left` |
368
+ | `.bf-t-center` | Sets `text-align` to a `center` |
369
+ | `.bf-t-right` | Sets `text-align` to a `right` |
370
+ | `.bf-t-shadow` | Sets a basic text shadow |
371
+ | `.bf-t-italic` | Sets `font-style` to a `italic` |
372
+ | `.bf-t-style-normal` | Sets `font-style` to a `normal` |
373
+ | `.bf-t-weight-300` | Sets `font-weight` to `300` (AKA light) |
374
+ | `.bf-t-weight-400` | Sets `font-weight` to `400` (AKA normal) |
375
+ | `.bf-t-weight-500` | Sets `font-weight` to `500` (AKA medium) |
376
+ | `.bf-t-weight-600` | Sets `font-weight` to `600` (AKA semi-bold) |
377
+ | `.bf-t-weight-700` | Sets `font-weight` to `700` (AKA bold) |
378
+ | `.bf-t-weight-800` | Sets `font-weight` to `800` (AKA black) |
379
+ | `.bf-text-break` | Sets `word-wrap` to a `break-word`, applied by default to the `body` |
380
+ | `.bf-t-truncate` | Truncates a very long text and replaces the missing text with an ellipsis |
381
+ | `.bf-t-truncate--multiline-2` | Truncates a long doubled line text and replaces the missing text with an ellipsis (no IE) |
382
+ | `.bf-t-truncate--multiline-3` | Truncates a long tripled line text and replaces the missing text with an ellipsis (no IE) |
383
+ | `.bf-no-select` | Blocks user text selection |
384
+ | `.bf-font-sans-serif` | Sets `font-family` to a `sans-serif`, and a combination of cross-browser system UI sans-serif font families |
385
+ | `.bf-font-serif` | Sets `font-family` to a `serif`, and a combination of cross-browser system UI serif font families |
386
+ | `.bf-font-monospace` | Sets `font-family` to a `monospace`, a combination of widely supported monospaced font families |
387
+ | `.bf-h1` | Matches the font styling of a `h1` |
388
+ | `.bf-h2` | Matches the font styling of a `h2` |
389
+ | `.bf-h3` | Matches the font styling of a `h3` |
390
+ | `.bf-h4` | Matches the font styling of a `h4` |
391
+ | `.bf-h5` | Matches the font styling of a `h5` |
392
+ | `.bf-h6` | Matches the font styling of a `h6` |
393
+ | `.bf-lead` | Sets `font-size` to `125%` |
394
+ | `.bf-responsive-typography` | Scales `font-size` from a minimum of `1.6rem` (AKA 16px) to a maximum of `1.9rem` using `calc` and some `CSS custom properties` |
395
+
396
+ </details>
364
397
 
365
398
  #### Lists
366
399
 
367
- | Utility class | Description |
368
- | ------------- | ----------- |
400
+ <details><summary>Open utilities</summary>
401
+
402
+ | Utility class | Description |
403
+ | ------------------- | -------------------------------------------------------------------------------- |
369
404
  | `.bf-list-unstyled` | Removes margins, paddings and `li` list styles from `ul`, `ol` and `dd` elements |
370
405
 
371
406
  #### Tables
372
407
 
373
- | Utility class | Description |
374
- | ------------- | ----------- |
375
- | `.bf-table` | Sets a border and custom paddings and margins to a table |
376
- | `.bf-table-responsive` | Adds responsiveness to a table container |
377
- | `.bf-table--zebra` | Increases a table readability adding horizontal zebra stripes |
408
+ | Utility class | Description |
409
+ | ----------------------------- | ------------------------------------------------------------------------ |
410
+ | `.bf-table` | Sets a border and custom paddings and margins to a table |
411
+ | `.bf-table-responsive` | Adds responsiveness to a table container |
412
+ | `.bf-table--zebra` | Increases a table readability adding horizontal zebra stripes |
378
413
  | `.bf-table-responsive--zebra` | Increases a responsive table readability adding horizontal zebra stripes |
379
414
 
415
+ </details>
416
+
380
417
  #### Embeds
381
418
 
382
- | Utility class | Description |
383
- | ------------- | ----------- |
384
- | `.bf-embed-responsive` | Adds responsiveness to an `iframe`, `embed`, `object`, `video` or *general purpouse element* (e.g. youtube embed) |
385
- | `.bf-embed-responsive--4-3` | Sets a 4:3 ratio responsiveness to an `iframe`, `embed`, `object`, `video` or *general purpouse element* container (e.g. youtube embed) |
386
- | `.bf-embed-responsive--item` | A *general purpouse element* element that behaves like a `video` |
419
+ <details><summary>Open utilities</summary>
420
+
421
+ | Utility class | Description |
422
+ | ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
423
+ | `.bf-embed-responsive` | Adds responsiveness to an `iframe`, `embed`, `object`, `video` or _general purpouse element_ (e.g. youtube embed) |
424
+ | `.bf-embed-responsive--4-3` | Sets a 4:3 ratio responsiveness to an `iframe`, `embed`, `object`, `video` or _general purpouse element_ container (e.g. youtube embed) |
425
+ | `.bf-embed-responsive--item` | A _general purpouse element_ element that behaves like a `video` |
426
+
427
+ </details>
387
428
 
388
429
  #### Buttons
389
430
 
390
- | Utility class | Description |
391
- | ------------- | ----------- |
392
- | `.bf-btn` | Creates a standard gray-looking button (e.g. `<a class="bf-btn" href="...">...</a>`)|
393
- | `.bf-btn--primary` | Creates a primary blue-looking button |
431
+ <details><summary>Open utilities</summary>
432
+
433
+ | Utility class | Description |
434
+ | ------------------ | ------------------------------------------------------------------------------------ |
435
+ | `.bf-btn` | Creates a standard gray-looking button (e.g. `<a class="bf-btn" href="...">...</a>`) |
436
+ | `.bf-btn--primary` | Creates a primary blue-looking button |
437
+
438
+ </details>
394
439
 
395
440
  #### Form states
396
441
 
397
- | Utility class | Description |
398
- | ------------- | ----------- |
399
- | `.bf-focused` | Sets a blue-looking focused ring and shadow around an `input`, `textarea` or `select` |
400
- | `.bf-disabled` | Sets `opacity` to `0.5`, and resets a combinations of properties to the default value if is disabled |
401
- | `.bf-invalid` | Sets a red-looking focused ring and shadow around an invalid `input`, `textarea` or `select` |
442
+ <details><summary>Open utilities</summary>
443
+
444
+ | Utility class | Description |
445
+ | -------------- | ---------------------------------------------------------------------------------------------------- |
446
+ | `.bf-focused` | Sets a blue-looking focused ring and shadow around an `input`, `textarea` or `select` |
447
+ | `.bf-disabled` | Sets `opacity` to `0.5`, and resets a combinations of properties to the default value if is disabled |
448
+ | `.bf-invalid` | Sets a red-looking focused ring and shadow around an invalid `input`, `textarea` or `select` |
449
+
450
+ </details>
402
451
 
403
452
  #### Reduced motion
404
453
 
405
- | Utility class | Description |
406
- | ------------- | ----------- |
454
+ <details><summary>Open utilities</summary>
455
+
456
+ | Utility class | Description |
457
+ | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
407
458
  | `.bf-reduced-motion` | Adds a combinations of properties and values to an element (e.g. the `body`) removing all motion-based animations if preferred by the user, [read more](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion) |
408
459
 
460
+ </details>
461
+
462
+ ---
463
+
409
464
  ## Browser compatibility
410
465
 
411
466
  ### Desktop browsers
412
467
 
413
- - Latest stable two: Firefox, Chrome, Edge, Safari, Opera
414
- - IE 11+
468
+ - Latest two stable versions: Firefox, Chrome, Edge, Safari, Opera
415
469
 
416
470
  ### Mobile browsers
417
471
 
418
- - Latest stable two: Firefox, Chrome, Edge, Opera, Mobile Safari
472
+ - Latest two stable versions: Firefox, Chrome, Edge, Mobile Safari, Opera
419
473
 
420
- You might take a look at the [.browserslistrc](https://github.com/marcop135/bullframe.css/blob/master/.browserslistrc) file for [Autoprefixer](https://github.com/postcss/autoprefixer)
474
+ You can check the [.browserslistrc](https://github.com/marcop135/bullframe.css/blob/master/.browserslistrc) file.
421
475
 
422
- ## Contributors
423
-
424
- [@englishextra](https://github.com/englishextra) the project is still live thanks to you!
476
+ ---
425
477
 
426
478
  ## Contributing
427
479
 
@@ -431,20 +483,10 @@ Please read the [contribution guidelines](https://github.com/marcop135/bullframe
431
483
 
432
484
  [Changelog](https://github.com/marcop135/bullframe.css/blob/master/CHANGELOG.md)
433
485
 
434
- ## Acknowledgements
435
-
436
- bullframe.css incorporates some of the styles found on some amazing CSS boilerplates and frameworks across the web. *Thank you!*
486
+ ## Author
437
487
 
438
- - @necolas [/normalize.css](https://github.com/necolas/normalize.css) for the extensive old browsers bug fixing documentation
439
- - @h5bp [/main.css](https://github.com/h5bp/main.css) for the excellent print styles base and the keyboard utilities
440
- - @twbs [/bootstrap](https://github.com/twbs/bootstrap) for some neat typography tricks, responsive embeds, reboot styles, base24 SVG icons, button styles, grid system breakpoints and spacing utilities *(a lot!)*
441
- - @kognise [/water.css](https://github.com/kognise/water.css) for the "classless" concept inspiration and some form tricks
442
- - @jensimmons [/cssremedy](https://github.com/jensimmons/cssremedy) for the prefers-reduced-motion snippet
488
+ [Marco Pontili](https://marcopontili.com)
443
489
 
444
490
  ## License
445
491
 
446
492
  This project is licensed under the [MIT License](LICENSE).
447
-
448
- ## Author
449
-
450
- Created with passion by [Marco Pontili](https://marcopontili.com) - [GitHub](https://github.com/marcop135).