vanduo-framework 1.1.8-docs-update

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 (196) hide show
  1. package/LICENSE +35 -0
  2. package/README.md +216 -0
  3. package/css/components/alerts.css +224 -0
  4. package/css/components/avatar.css +275 -0
  5. package/css/components/badges.css +230 -0
  6. package/css/components/breadcrumbs.css +146 -0
  7. package/css/components/button-group.css +82 -0
  8. package/css/components/buttons.css +530 -0
  9. package/css/components/cards.css +304 -0
  10. package/css/components/chips.css +259 -0
  11. package/css/components/code-snippet.css +555 -0
  12. package/css/components/collapsible.css +267 -0
  13. package/css/components/collections.css +253 -0
  14. package/css/components/doc-search.css +464 -0
  15. package/css/components/doc-tabs.css +38 -0
  16. package/css/components/draggable.css +317 -0
  17. package/css/components/dropdown.css +266 -0
  18. package/css/components/footer.css +375 -0
  19. package/css/components/forms.css +1774 -0
  20. package/css/components/image-box.css +279 -0
  21. package/css/components/modals.css +285 -0
  22. package/css/components/navbar.css +530 -0
  23. package/css/components/pagination.css +186 -0
  24. package/css/components/preloader.css +340 -0
  25. package/css/components/progress.css +107 -0
  26. package/css/components/sidenav.css +301 -0
  27. package/css/components/skeleton.css +241 -0
  28. package/css/components/spinner.css +144 -0
  29. package/css/components/tabs.css +327 -0
  30. package/css/components/theme-customizer.css +835 -0
  31. package/css/components/toast.css +357 -0
  32. package/css/components/tooltips.css +270 -0
  33. package/css/core/colors.css +1017 -0
  34. package/css/core/fonts.css +266 -0
  35. package/css/core/grid.css +1699 -0
  36. package/css/core/helpers.css +2202 -0
  37. package/css/core/reset.css +128 -0
  38. package/css/core/tokens.css +213 -0
  39. package/css/core/typography.css +405 -0
  40. package/css/core/vd-aliases.css +47 -0
  41. package/css/effects/parallax.css +113 -0
  42. package/css/icons/icons-all.css +23 -0
  43. package/css/icons/icons.css +25 -0
  44. package/css/utilities/media.css +167 -0
  45. package/css/utilities/print.css +111 -0
  46. package/css/utilities/shadow.css +243 -0
  47. package/css/utilities/table.css +381 -0
  48. package/css/utilities/transforms.css +71 -0
  49. package/css/utilities/transitions.css +87 -0
  50. package/css/vanduo.css +80 -0
  51. package/dist/build-info.json +6 -0
  52. package/dist/fonts/fira-sans/fira-sans-bold.woff2 +0 -0
  53. package/dist/fonts/fira-sans/fira-sans-medium.woff2 +0 -0
  54. package/dist/fonts/fira-sans/fira-sans-regular.woff2 +0 -0
  55. package/dist/fonts/ibm-plex/ibm-plex-sans-bold.woff2 +0 -0
  56. package/dist/fonts/ibm-plex/ibm-plex-sans-medium.woff2 +0 -0
  57. package/dist/fonts/ibm-plex/ibm-plex-sans-regular.woff2 +0 -0
  58. package/dist/fonts/inter/inter-bold.woff2 +0 -0
  59. package/dist/fonts/inter/inter-medium.woff2 +0 -0
  60. package/dist/fonts/inter/inter-regular.woff2 +0 -0
  61. package/dist/fonts/inter/inter-semibold.woff2 +0 -0
  62. package/dist/fonts/jetbrains-mono/jetbrains-mono-bold.woff2 +0 -0
  63. package/dist/fonts/jetbrains-mono/jetbrains-mono-regular.woff2 +0 -0
  64. package/dist/fonts/open-sans/open-sans-bold.woff2 +0 -0
  65. package/dist/fonts/open-sans/open-sans-medium.woff2 +0 -0
  66. package/dist/fonts/open-sans/open-sans-regular.woff2 +0 -0
  67. package/dist/fonts/rubik/rubik-bold.woff2 +0 -0
  68. package/dist/fonts/rubik/rubik-medium.woff2 +0 -0
  69. package/dist/fonts/rubik/rubik-regular.woff2 +0 -0
  70. package/dist/fonts/source-sans/source-sans-bold.woff2 +0 -0
  71. package/dist/fonts/source-sans/source-sans-regular.woff2 +0 -0
  72. package/dist/fonts/source-sans/source-sans-semibold.woff2 +0 -0
  73. package/dist/fonts/titillium-web/titillium-web-bold.woff2 +0 -0
  74. package/dist/fonts/titillium-web/titillium-web-regular.woff2 +0 -0
  75. package/dist/fonts/titillium-web/titillium-web-semibold.woff2 +0 -0
  76. package/dist/fonts/ubuntu/ubuntu-bold.woff2 +0 -0
  77. package/dist/fonts/ubuntu/ubuntu-medium.woff2 +0 -0
  78. package/dist/fonts/ubuntu/ubuntu-regular.woff2 +0 -0
  79. package/dist/icons/phosphor/LICENSE +21 -0
  80. package/dist/icons/phosphor/bold/Phosphor-Bold.ttf +0 -0
  81. package/dist/icons/phosphor/bold/Phosphor-Bold.woff +0 -0
  82. package/dist/icons/phosphor/bold/Phosphor-Bold.woff2 +0 -0
  83. package/dist/icons/phosphor/bold/style.css +4627 -0
  84. package/dist/icons/phosphor/duotone/Phosphor-Duotone.ttf +0 -0
  85. package/dist/icons/phosphor/duotone/Phosphor-Duotone.woff +0 -0
  86. package/dist/icons/phosphor/duotone/Phosphor-Duotone.woff2 +0 -0
  87. package/dist/icons/phosphor/duotone/style.css +12115 -0
  88. package/dist/icons/phosphor/fill/Phosphor-Fill.ttf +0 -0
  89. package/dist/icons/phosphor/fill/Phosphor-Fill.woff +0 -0
  90. package/dist/icons/phosphor/fill/Phosphor-Fill.woff2 +0 -0
  91. package/dist/icons/phosphor/fill/style.css +4627 -0
  92. package/dist/icons/phosphor/light/Phosphor-Light.ttf +0 -0
  93. package/dist/icons/phosphor/light/Phosphor-Light.woff +0 -0
  94. package/dist/icons/phosphor/light/Phosphor-Light.woff2 +0 -0
  95. package/dist/icons/phosphor/light/style.css +4627 -0
  96. package/dist/icons/phosphor/regular/Phosphor.ttf +0 -0
  97. package/dist/icons/phosphor/regular/Phosphor.woff +0 -0
  98. package/dist/icons/phosphor/regular/Phosphor.woff2 +0 -0
  99. package/dist/icons/phosphor/regular/style.css +4627 -0
  100. package/dist/icons/phosphor/thin/Phosphor-Thin.ttf +0 -0
  101. package/dist/icons/phosphor/thin/Phosphor-Thin.woff +0 -0
  102. package/dist/icons/phosphor/thin/Phosphor-Thin.woff2 +0 -0
  103. package/dist/icons/phosphor/thin/style.css +4627 -0
  104. package/dist/vanduo.cjs.js +5569 -0
  105. package/dist/vanduo.cjs.js.map +7 -0
  106. package/dist/vanduo.cjs.min.js +48 -0
  107. package/dist/vanduo.cjs.min.js.map +7 -0
  108. package/dist/vanduo.css +60666 -0
  109. package/dist/vanduo.css.map +1 -0
  110. package/dist/vanduo.esm.js +5548 -0
  111. package/dist/vanduo.esm.js.map +7 -0
  112. package/dist/vanduo.esm.min.js +48 -0
  113. package/dist/vanduo.esm.min.js.map +7 -0
  114. package/dist/vanduo.js +5545 -0
  115. package/dist/vanduo.js.map +7 -0
  116. package/dist/vanduo.min.css +2 -0
  117. package/dist/vanduo.min.css.map +1 -0
  118. package/dist/vanduo.min.js +48 -0
  119. package/dist/vanduo.min.js.map +7 -0
  120. package/fonts/fira-sans/fira-sans-bold.woff2 +0 -0
  121. package/fonts/fira-sans/fira-sans-medium.woff2 +0 -0
  122. package/fonts/fira-sans/fira-sans-regular.woff2 +0 -0
  123. package/fonts/ibm-plex/ibm-plex-sans-bold.woff2 +0 -0
  124. package/fonts/ibm-plex/ibm-plex-sans-medium.woff2 +0 -0
  125. package/fonts/ibm-plex/ibm-plex-sans-regular.woff2 +0 -0
  126. package/fonts/inter/inter-bold.woff2 +0 -0
  127. package/fonts/inter/inter-medium.woff2 +0 -0
  128. package/fonts/inter/inter-regular.woff2 +0 -0
  129. package/fonts/inter/inter-semibold.woff2 +0 -0
  130. package/fonts/jetbrains-mono/jetbrains-mono-bold.woff2 +0 -0
  131. package/fonts/jetbrains-mono/jetbrains-mono-regular.woff2 +0 -0
  132. package/fonts/open-sans/open-sans-bold.woff2 +0 -0
  133. package/fonts/open-sans/open-sans-medium.woff2 +0 -0
  134. package/fonts/open-sans/open-sans-regular.woff2 +0 -0
  135. package/fonts/rubik/rubik-bold.woff2 +0 -0
  136. package/fonts/rubik/rubik-medium.woff2 +0 -0
  137. package/fonts/rubik/rubik-regular.woff2 +0 -0
  138. package/fonts/source-sans/source-sans-bold.woff2 +0 -0
  139. package/fonts/source-sans/source-sans-regular.woff2 +0 -0
  140. package/fonts/source-sans/source-sans-semibold.woff2 +0 -0
  141. package/fonts/titillium-web/titillium-web-bold.woff2 +0 -0
  142. package/fonts/titillium-web/titillium-web-regular.woff2 +0 -0
  143. package/fonts/titillium-web/titillium-web-semibold.woff2 +0 -0
  144. package/fonts/ubuntu/ubuntu-bold.woff2 +0 -0
  145. package/fonts/ubuntu/ubuntu-medium.woff2 +0 -0
  146. package/fonts/ubuntu/ubuntu-regular.woff2 +0 -0
  147. package/icons/phosphor/LICENSE +21 -0
  148. package/icons/phosphor/bold/Phosphor-Bold.ttf +0 -0
  149. package/icons/phosphor/bold/Phosphor-Bold.woff +0 -0
  150. package/icons/phosphor/bold/Phosphor-Bold.woff2 +0 -0
  151. package/icons/phosphor/bold/style.css +4627 -0
  152. package/icons/phosphor/duotone/Phosphor-Duotone.ttf +0 -0
  153. package/icons/phosphor/duotone/Phosphor-Duotone.woff +0 -0
  154. package/icons/phosphor/duotone/Phosphor-Duotone.woff2 +0 -0
  155. package/icons/phosphor/duotone/style.css +12115 -0
  156. package/icons/phosphor/fill/Phosphor-Fill.ttf +0 -0
  157. package/icons/phosphor/fill/Phosphor-Fill.woff +0 -0
  158. package/icons/phosphor/fill/Phosphor-Fill.woff2 +0 -0
  159. package/icons/phosphor/fill/style.css +4627 -0
  160. package/icons/phosphor/light/Phosphor-Light.ttf +0 -0
  161. package/icons/phosphor/light/Phosphor-Light.woff +0 -0
  162. package/icons/phosphor/light/Phosphor-Light.woff2 +0 -0
  163. package/icons/phosphor/light/style.css +4627 -0
  164. package/icons/phosphor/regular/Phosphor.ttf +0 -0
  165. package/icons/phosphor/regular/Phosphor.woff +0 -0
  166. package/icons/phosphor/regular/Phosphor.woff2 +0 -0
  167. package/icons/phosphor/regular/style.css +4627 -0
  168. package/icons/phosphor/thin/Phosphor-Thin.ttf +0 -0
  169. package/icons/phosphor/thin/Phosphor-Thin.woff +0 -0
  170. package/icons/phosphor/thin/Phosphor-Thin.woff2 +0 -0
  171. package/icons/phosphor/thin/style.css +4627 -0
  172. package/js/components/code-snippet.js +639 -0
  173. package/js/components/collapsible.js +226 -0
  174. package/js/components/doc-search.js +936 -0
  175. package/js/components/draggable.js +725 -0
  176. package/js/components/dropdown.js +362 -0
  177. package/js/components/font-switcher.js +253 -0
  178. package/js/components/grid.js +279 -0
  179. package/js/components/image-box.js +372 -0
  180. package/js/components/modals.js +367 -0
  181. package/js/components/navbar.js +264 -0
  182. package/js/components/pagination.js +286 -0
  183. package/js/components/parallax.js +216 -0
  184. package/js/components/preloader.js +183 -0
  185. package/js/components/select.js +444 -0
  186. package/js/components/sidenav.js +303 -0
  187. package/js/components/tabs.js +303 -0
  188. package/js/components/theme-customizer.js +784 -0
  189. package/js/components/theme-switcher.js +183 -0
  190. package/js/components/toast.js +343 -0
  191. package/js/components/tooltips.js +306 -0
  192. package/js/index.js +52 -0
  193. package/js/utils/helpers.js +306 -0
  194. package/js/utils/lifecycle.js +135 -0
  195. package/js/vanduo.js +120 -0
  196. package/package.json +78 -0
@@ -0,0 +1,1699 @@
1
+ /**
2
+ * Vanduo Framework - Grid System
3
+ * Responsive grid system using CSS Grid and Flexbox
4
+ */
5
+
6
+ :root {
7
+ /* Container (Fibonacci: 987px) */
8
+ --container-max-width: 987px;
9
+ --container-max-width-wide: 1597px;
10
+ /* next Fibonacci */
11
+ --container-padding: 0.8125rem;
12
+ /* 13px - fib */
13
+
14
+ /* Breakpoints */
15
+ --breakpoint-sm: 576px;
16
+ --breakpoint-md: 768px;
17
+ --breakpoint-lg: 992px;
18
+ --breakpoint-xl: 1200px;
19
+ --breakpoint-2xl: 1400px;
20
+
21
+ /* Grid Gutter (Fibonacci: 13px) */
22
+ --grid-gutter: 0.8125rem;
23
+
24
+ /* Fibonacci Gap Scale */
25
+ --gap-fib-2: 0.125rem;
26
+ /* 2px */
27
+ --gap-fib-3: 0.1875rem;
28
+ /* 3px */
29
+ --gap-fib-5: 0.3125rem;
30
+ /* 5px */
31
+ --gap-fib-8: 0.5rem;
32
+ /* 8px */
33
+ --gap-fib-13: 0.8125rem;
34
+ /* 13px */
35
+ --gap-fib-21: 1.3125rem;
36
+ /* 21px */
37
+
38
+ /* Responsive Container Widths (Fibonacci-derived)
39
+ * Using Fibonacci: 377, 610, 987, 1597
40
+ * Lucas numbers (related to Fibonacci): 521, 843, 1364 for intermediate sizes */
41
+ --container-sm: 521px;
42
+ /* Lucas - between fib 377 and 610 */
43
+ --container-md: 610px;
44
+ /* Fibonacci */
45
+ --container-lg: 987px;
46
+ /* Fibonacci - matches --container-max-width */
47
+ --container-xl: 1364px;
48
+ /* Lucas - between fib 987 and 1597 */
49
+ --container-2xl: 1597px;
50
+ /* Fibonacci - matches --container-max-width-wide */
51
+ }
52
+
53
+ /* Container */
54
+ .vd-container {
55
+ width: 100%;
56
+ max-width: var(--container-max-width);
57
+ margin-left: auto;
58
+ margin-right: auto;
59
+ padding-left: var(--container-padding);
60
+ padding-right: var(--container-padding);
61
+ }
62
+
63
+ .vd-container-fluid {
64
+ width: 100%;
65
+ padding-left: var(--container-padding);
66
+ padding-right: var(--container-padding);
67
+ }
68
+
69
+ /* Container XL - Intermediate size (1364px Lucas number) */
70
+ .vd-container-xl {
71
+ width: 100%;
72
+ max-width: var(--container-xl);
73
+ margin-left: auto;
74
+ margin-right: auto;
75
+ padding-left: var(--container-padding);
76
+ padding-right: var(--container-padding);
77
+ }
78
+
79
+ /* Container Wide - Full Fibonacci wide (1597px) */
80
+ .vd-container-wide {
81
+ width: 100%;
82
+ max-width: var(--container-2xl);
83
+ margin-left: auto;
84
+ margin-right: auto;
85
+ padding-left: var(--container-padding);
86
+ padding-right: var(--container-padding);
87
+ }
88
+
89
+ /* Container Responsive - Grows with viewport at XL+ breakpoints */
90
+ .vd-container-responsive {
91
+ width: 100%;
92
+ max-width: var(--container-max-width);
93
+ margin-left: auto;
94
+ margin-right: auto;
95
+ padding-left: var(--container-padding);
96
+ padding-right: var(--container-padding);
97
+ }
98
+
99
+ @media (min-width: 1200px) {
100
+ .vd-container-responsive {
101
+ max-width: var(--container-xl);
102
+ }
103
+ }
104
+
105
+ @media (min-width: 1400px) {
106
+ .vd-container-responsive {
107
+ max-width: var(--container-2xl);
108
+ }
109
+ }
110
+
111
+ /* Row */
112
+ .vd-row {
113
+ display: flex;
114
+ flex-wrap: wrap;
115
+ margin-left: calc(var(--grid-gutter) * -0.5);
116
+ margin-right: calc(var(--grid-gutter) * -0.5);
117
+ }
118
+
119
+ /* Columns */
120
+ [class*="col-"] {
121
+ flex: 1 0 0%;
122
+ padding-left: calc(var(--grid-gutter) * 0.5);
123
+ padding-right: calc(var(--grid-gutter) * 0.5);
124
+ }
125
+
126
+ /* Column Sizes - Mobile First (12-column system) */
127
+ .vd-col-1 {
128
+ flex: 0 0 auto;
129
+ width: 8.333333%;
130
+ }
131
+
132
+ .vd-col-2 {
133
+ flex: 0 0 auto;
134
+ width: 16.666667%;
135
+ }
136
+
137
+ .vd-col-3 {
138
+ flex: 0 0 auto;
139
+ width: 25%;
140
+ }
141
+
142
+ .vd-col-4 {
143
+ flex: 0 0 auto;
144
+ width: 33.333333%;
145
+ }
146
+
147
+ .vd-col-5 {
148
+ flex: 0 0 auto;
149
+ width: 41.666667%;
150
+ }
151
+
152
+ .vd-col-6 {
153
+ flex: 0 0 auto;
154
+ width: 50%;
155
+ }
156
+
157
+ .vd-col-7 {
158
+ flex: 0 0 auto;
159
+ width: 58.333333%;
160
+ }
161
+
162
+ .vd-col-8 {
163
+ flex: 0 0 auto;
164
+ width: 66.666667%;
165
+ }
166
+
167
+ .vd-col-9 {
168
+ flex: 0 0 auto;
169
+ width: 75%;
170
+ }
171
+
172
+ .vd-col-10 {
173
+ flex: 0 0 auto;
174
+ width: 83.333333%;
175
+ }
176
+
177
+ .vd-col-11 {
178
+ flex: 0 0 auto;
179
+ width: 91.666667%;
180
+ }
181
+
182
+ .vd-col-12 {
183
+ flex: 0 0 auto;
184
+ width: 100%;
185
+ }
186
+
187
+ .vd-col-auto {
188
+ flex: 0 0 auto;
189
+ width: auto;
190
+ }
191
+
192
+ /* Responsive Columns - Small (sm) */
193
+ @media (min-width: 576px) {
194
+ .vd-col-sm-1 {
195
+ flex: 0 0 auto;
196
+ width: 8.333333%;
197
+ }
198
+
199
+ .vd-col-sm-2 {
200
+ flex: 0 0 auto;
201
+ width: 16.666667%;
202
+ }
203
+
204
+ .vd-col-sm-3 {
205
+ flex: 0 0 auto;
206
+ width: 25%;
207
+ }
208
+
209
+ .vd-col-sm-4 {
210
+ flex: 0 0 auto;
211
+ width: 33.333333%;
212
+ }
213
+
214
+ .vd-col-sm-5 {
215
+ flex: 0 0 auto;
216
+ width: 41.666667%;
217
+ }
218
+
219
+ .vd-col-sm-6 {
220
+ flex: 0 0 auto;
221
+ width: 50%;
222
+ }
223
+
224
+ .vd-col-sm-7 {
225
+ flex: 0 0 auto;
226
+ width: 58.333333%;
227
+ }
228
+
229
+ .vd-col-sm-8 {
230
+ flex: 0 0 auto;
231
+ width: 66.666667%;
232
+ }
233
+
234
+ .vd-col-sm-9 {
235
+ flex: 0 0 auto;
236
+ width: 75%;
237
+ }
238
+
239
+ .vd-col-sm-10 {
240
+ flex: 0 0 auto;
241
+ width: 83.333333%;
242
+ }
243
+
244
+ .vd-col-sm-11 {
245
+ flex: 0 0 auto;
246
+ width: 91.666667%;
247
+ }
248
+
249
+ .vd-col-sm-12 {
250
+ flex: 0 0 auto;
251
+ width: 100%;
252
+ }
253
+
254
+ .vd-col-sm-auto {
255
+ flex: 0 0 auto;
256
+ width: auto;
257
+ }
258
+ }
259
+
260
+ /* Responsive Columns - Medium (md) */
261
+ @media (min-width: 768px) {
262
+ .vd-col-md-1 {
263
+ flex: 0 0 auto;
264
+ width: 8.333333%;
265
+ }
266
+
267
+ .vd-col-md-2 {
268
+ flex: 0 0 auto;
269
+ width: 16.666667%;
270
+ }
271
+
272
+ .vd-col-md-3 {
273
+ flex: 0 0 auto;
274
+ width: 25%;
275
+ }
276
+
277
+ .vd-col-md-4 {
278
+ flex: 0 0 auto;
279
+ width: 33.333333%;
280
+ }
281
+
282
+ .vd-col-md-5 {
283
+ flex: 0 0 auto;
284
+ width: 41.666667%;
285
+ }
286
+
287
+ .vd-col-md-6 {
288
+ flex: 0 0 auto;
289
+ width: 50%;
290
+ }
291
+
292
+ .vd-col-md-7 {
293
+ flex: 0 0 auto;
294
+ width: 58.333333%;
295
+ }
296
+
297
+ .vd-col-md-8 {
298
+ flex: 0 0 auto;
299
+ width: 66.666667%;
300
+ }
301
+
302
+ .vd-col-md-9 {
303
+ flex: 0 0 auto;
304
+ width: 75%;
305
+ }
306
+
307
+ .vd-col-md-10 {
308
+ flex: 0 0 auto;
309
+ width: 83.333333%;
310
+ }
311
+
312
+ .vd-col-md-11 {
313
+ flex: 0 0 auto;
314
+ width: 91.666667%;
315
+ }
316
+
317
+ .vd-col-md-12 {
318
+ flex: 0 0 auto;
319
+ width: 100%;
320
+ }
321
+
322
+ .vd-col-md-auto {
323
+ flex: 0 0 auto;
324
+ width: auto;
325
+ }
326
+ }
327
+
328
+ /* Responsive Columns - Large (lg) */
329
+ @media (min-width: 992px) {
330
+ .vd-col-lg-1 {
331
+ flex: 0 0 auto;
332
+ width: 8.333333%;
333
+ }
334
+
335
+ .vd-col-lg-2 {
336
+ flex: 0 0 auto;
337
+ width: 16.666667%;
338
+ }
339
+
340
+ .vd-col-lg-3 {
341
+ flex: 0 0 auto;
342
+ width: 25%;
343
+ }
344
+
345
+ .vd-col-lg-4 {
346
+ flex: 0 0 auto;
347
+ width: 33.333333%;
348
+ }
349
+
350
+ .vd-col-lg-5 {
351
+ flex: 0 0 auto;
352
+ width: 41.666667%;
353
+ }
354
+
355
+ .vd-col-lg-6 {
356
+ flex: 0 0 auto;
357
+ width: 50%;
358
+ }
359
+
360
+ .vd-col-lg-7 {
361
+ flex: 0 0 auto;
362
+ width: 58.333333%;
363
+ }
364
+
365
+ .vd-col-lg-8 {
366
+ flex: 0 0 auto;
367
+ width: 66.666667%;
368
+ }
369
+
370
+ .vd-col-lg-9 {
371
+ flex: 0 0 auto;
372
+ width: 75%;
373
+ }
374
+
375
+ .vd-col-lg-10 {
376
+ flex: 0 0 auto;
377
+ width: 83.333333%;
378
+ }
379
+
380
+ .vd-col-lg-11 {
381
+ flex: 0 0 auto;
382
+ width: 91.666667%;
383
+ }
384
+
385
+ .vd-col-lg-12 {
386
+ flex: 0 0 auto;
387
+ width: 100%;
388
+ }
389
+
390
+ .vd-col-lg-auto {
391
+ flex: 0 0 auto;
392
+ width: auto;
393
+ }
394
+ }
395
+
396
+ /* Responsive Columns - Extra Large (xl) */
397
+ @media (min-width: 1200px) {
398
+ .vd-col-xl-1 {
399
+ flex: 0 0 auto;
400
+ width: 8.333333%;
401
+ }
402
+
403
+ .vd-col-xl-2 {
404
+ flex: 0 0 auto;
405
+ width: 16.666667%;
406
+ }
407
+
408
+ .vd-col-xl-3 {
409
+ flex: 0 0 auto;
410
+ width: 25%;
411
+ }
412
+
413
+ .vd-col-xl-4 {
414
+ flex: 0 0 auto;
415
+ width: 33.333333%;
416
+ }
417
+
418
+ .vd-col-xl-5 {
419
+ flex: 0 0 auto;
420
+ width: 41.666667%;
421
+ }
422
+
423
+ .vd-col-xl-6 {
424
+ flex: 0 0 auto;
425
+ width: 50%;
426
+ }
427
+
428
+ .vd-col-xl-7 {
429
+ flex: 0 0 auto;
430
+ width: 58.333333%;
431
+ }
432
+
433
+ .vd-col-xl-8 {
434
+ flex: 0 0 auto;
435
+ width: 66.666667%;
436
+ }
437
+
438
+ .vd-col-xl-9 {
439
+ flex: 0 0 auto;
440
+ width: 75%;
441
+ }
442
+
443
+ .vd-col-xl-10 {
444
+ flex: 0 0 auto;
445
+ width: 83.333333%;
446
+ }
447
+
448
+ .vd-col-xl-11 {
449
+ flex: 0 0 auto;
450
+ width: 91.666667%;
451
+ }
452
+
453
+ .vd-col-xl-12 {
454
+ flex: 0 0 auto;
455
+ width: 100%;
456
+ }
457
+
458
+ .vd-col-xl-auto {
459
+ flex: 0 0 auto;
460
+ width: auto;
461
+ }
462
+ }
463
+
464
+ /* Responsive Columns - Extra Extra Large (2xl) */
465
+ @media (min-width: 1400px) {
466
+ .vd-col-2xl-1 {
467
+ flex: 0 0 auto;
468
+ width: 8.333333%;
469
+ }
470
+
471
+ .vd-col-2xl-2 {
472
+ flex: 0 0 auto;
473
+ width: 16.666667%;
474
+ }
475
+
476
+ .vd-col-2xl-3 {
477
+ flex: 0 0 auto;
478
+ width: 25%;
479
+ }
480
+
481
+ .vd-col-2xl-4 {
482
+ flex: 0 0 auto;
483
+ width: 33.333333%;
484
+ }
485
+
486
+ .vd-col-2xl-5 {
487
+ flex: 0 0 auto;
488
+ width: 41.666667%;
489
+ }
490
+
491
+ .vd-col-2xl-6 {
492
+ flex: 0 0 auto;
493
+ width: 50%;
494
+ }
495
+
496
+ .vd-col-2xl-7 {
497
+ flex: 0 0 auto;
498
+ width: 58.333333%;
499
+ }
500
+
501
+ .vd-col-2xl-8 {
502
+ flex: 0 0 auto;
503
+ width: 66.666667%;
504
+ }
505
+
506
+ .vd-col-2xl-9 {
507
+ flex: 0 0 auto;
508
+ width: 75%;
509
+ }
510
+
511
+ .vd-col-2xl-10 {
512
+ flex: 0 0 auto;
513
+ width: 83.333333%;
514
+ }
515
+
516
+ .vd-col-2xl-11 {
517
+ flex: 0 0 auto;
518
+ width: 91.666667%;
519
+ }
520
+
521
+ .vd-col-2xl-12 {
522
+ flex: 0 0 auto;
523
+ width: 100%;
524
+ }
525
+
526
+ .vd-col-2xl-auto {
527
+ flex: 0 0 auto;
528
+ width: auto;
529
+ }
530
+ }
531
+
532
+ /* Offset Utilities */
533
+ .vd-offset-0 {
534
+ margin-left: 0;
535
+ }
536
+
537
+ .vd-offset-1 {
538
+ margin-left: 8.333333%;
539
+ }
540
+
541
+ .vd-offset-2 {
542
+ margin-left: 16.666667%;
543
+ }
544
+
545
+ .vd-offset-3 {
546
+ margin-left: 25%;
547
+ }
548
+
549
+ .vd-offset-4 {
550
+ margin-left: 33.333333%;
551
+ }
552
+
553
+ .vd-offset-5 {
554
+ margin-left: 41.666667%;
555
+ }
556
+
557
+ .vd-offset-6 {
558
+ margin-left: 50%;
559
+ }
560
+
561
+ .vd-offset-7 {
562
+ margin-left: 58.333333%;
563
+ }
564
+
565
+ .vd-offset-8 {
566
+ margin-left: 66.666667%;
567
+ }
568
+
569
+ .vd-offset-9 {
570
+ margin-left: 75%;
571
+ }
572
+
573
+ .vd-offset-10 {
574
+ margin-left: 83.333333%;
575
+ }
576
+
577
+ .vd-offset-11 {
578
+ margin-left: 91.666667%;
579
+ }
580
+
581
+ /* Responsive Offsets - sm */
582
+ @media (min-width: 576px) {
583
+ .vd-offset-sm-0 {
584
+ margin-left: 0;
585
+ }
586
+
587
+ .vd-offset-sm-1 {
588
+ margin-left: 8.333333%;
589
+ }
590
+
591
+ .vd-offset-sm-2 {
592
+ margin-left: 16.666667%;
593
+ }
594
+
595
+ .vd-offset-sm-3 {
596
+ margin-left: 25%;
597
+ }
598
+
599
+ .vd-offset-sm-4 {
600
+ margin-left: 33.333333%;
601
+ }
602
+
603
+ .vd-offset-sm-5 {
604
+ margin-left: 41.666667%;
605
+ }
606
+
607
+ .vd-offset-sm-6 {
608
+ margin-left: 50%;
609
+ }
610
+
611
+ .vd-offset-sm-7 {
612
+ margin-left: 58.333333%;
613
+ }
614
+
615
+ .vd-offset-sm-8 {
616
+ margin-left: 66.666667%;
617
+ }
618
+
619
+ .vd-offset-sm-9 {
620
+ margin-left: 75%;
621
+ }
622
+
623
+ .vd-offset-sm-10 {
624
+ margin-left: 83.333333%;
625
+ }
626
+
627
+ .vd-offset-sm-11 {
628
+ margin-left: 91.666667%;
629
+ }
630
+ }
631
+
632
+ /* Responsive Offsets - md */
633
+ @media (min-width: 768px) {
634
+ .vd-offset-md-0 {
635
+ margin-left: 0;
636
+ }
637
+
638
+ .vd-offset-md-1 {
639
+ margin-left: 8.333333%;
640
+ }
641
+
642
+ .vd-offset-md-2 {
643
+ margin-left: 16.666667%;
644
+ }
645
+
646
+ .vd-offset-md-3 {
647
+ margin-left: 25%;
648
+ }
649
+
650
+ .vd-offset-md-4 {
651
+ margin-left: 33.333333%;
652
+ }
653
+
654
+ .vd-offset-md-5 {
655
+ margin-left: 41.666667%;
656
+ }
657
+
658
+ .vd-offset-md-6 {
659
+ margin-left: 50%;
660
+ }
661
+
662
+ .vd-offset-md-7 {
663
+ margin-left: 58.333333%;
664
+ }
665
+
666
+ .vd-offset-md-8 {
667
+ margin-left: 66.666667%;
668
+ }
669
+
670
+ .vd-offset-md-9 {
671
+ margin-left: 75%;
672
+ }
673
+
674
+ .vd-offset-md-10 {
675
+ margin-left: 83.333333%;
676
+ }
677
+
678
+ .vd-offset-md-11 {
679
+ margin-left: 91.666667%;
680
+ }
681
+ }
682
+
683
+ /* Responsive Offsets - lg */
684
+ @media (min-width: 992px) {
685
+ .vd-offset-lg-0 {
686
+ margin-left: 0;
687
+ }
688
+
689
+ .vd-offset-lg-1 {
690
+ margin-left: 8.333333%;
691
+ }
692
+
693
+ .vd-offset-lg-2 {
694
+ margin-left: 16.666667%;
695
+ }
696
+
697
+ .vd-offset-lg-3 {
698
+ margin-left: 25%;
699
+ }
700
+
701
+ .vd-offset-lg-4 {
702
+ margin-left: 33.333333%;
703
+ }
704
+
705
+ .vd-offset-lg-5 {
706
+ margin-left: 41.666667%;
707
+ }
708
+
709
+ .vd-offset-lg-6 {
710
+ margin-left: 50%;
711
+ }
712
+
713
+ .vd-offset-lg-7 {
714
+ margin-left: 58.333333%;
715
+ }
716
+
717
+ .vd-offset-lg-8 {
718
+ margin-left: 66.666667%;
719
+ }
720
+
721
+ .vd-offset-lg-9 {
722
+ margin-left: 75%;
723
+ }
724
+
725
+ .vd-offset-lg-10 {
726
+ margin-left: 83.333333%;
727
+ }
728
+
729
+ .vd-offset-lg-11 {
730
+ margin-left: 91.666667%;
731
+ }
732
+ }
733
+
734
+ /* Responsive Offsets - xl */
735
+ @media (min-width: 1200px) {
736
+ .vd-offset-xl-0 {
737
+ margin-left: 0;
738
+ }
739
+
740
+ .vd-offset-xl-1 {
741
+ margin-left: 8.333333%;
742
+ }
743
+
744
+ .vd-offset-xl-2 {
745
+ margin-left: 16.666667%;
746
+ }
747
+
748
+ .vd-offset-xl-3 {
749
+ margin-left: 25%;
750
+ }
751
+
752
+ .vd-offset-xl-4 {
753
+ margin-left: 33.333333%;
754
+ }
755
+
756
+ .vd-offset-xl-5 {
757
+ margin-left: 41.666667%;
758
+ }
759
+
760
+ .vd-offset-xl-6 {
761
+ margin-left: 50%;
762
+ }
763
+
764
+ .vd-offset-xl-7 {
765
+ margin-left: 58.333333%;
766
+ }
767
+
768
+ .vd-offset-xl-8 {
769
+ margin-left: 66.666667%;
770
+ }
771
+
772
+ .vd-offset-xl-9 {
773
+ margin-left: 75%;
774
+ }
775
+
776
+ .vd-offset-xl-10 {
777
+ margin-left: 83.333333%;
778
+ }
779
+
780
+ .vd-offset-xl-11 {
781
+ margin-left: 91.666667%;
782
+ }
783
+ }
784
+
785
+ /* Responsive Offsets - 2xl */
786
+ @media (min-width: 1400px) {
787
+ .vd-offset-2xl-0 {
788
+ margin-left: 0;
789
+ }
790
+
791
+ .vd-offset-2xl-1 {
792
+ margin-left: 8.333333%;
793
+ }
794
+
795
+ .vd-offset-2xl-2 {
796
+ margin-left: 16.666667%;
797
+ }
798
+
799
+ .vd-offset-2xl-3 {
800
+ margin-left: 25%;
801
+ }
802
+
803
+ .vd-offset-2xl-4 {
804
+ margin-left: 33.333333%;
805
+ }
806
+
807
+ .vd-offset-2xl-5 {
808
+ margin-left: 41.666667%;
809
+ }
810
+
811
+ .vd-offset-2xl-6 {
812
+ margin-left: 50%;
813
+ }
814
+
815
+ .vd-offset-2xl-7 {
816
+ margin-left: 58.333333%;
817
+ }
818
+
819
+ .vd-offset-2xl-8 {
820
+ margin-left: 66.666667%;
821
+ }
822
+
823
+ .vd-offset-2xl-9 {
824
+ margin-left: 75%;
825
+ }
826
+
827
+ .vd-offset-2xl-10 {
828
+ margin-left: 83.333333%;
829
+ }
830
+
831
+ .vd-offset-2xl-11 {
832
+ margin-left: 91.666667%;
833
+ }
834
+ }
835
+
836
+ /* ===================================================
837
+ * Order Utilities
838
+ * Control visual order of flex/grid items
839
+ * =================================================== */
840
+
841
+ .vd-order-first {
842
+ order: -1;
843
+ }
844
+
845
+ .vd-order-last {
846
+ order: 13;
847
+ }
848
+
849
+ .vd-order-0 {
850
+ order: 0;
851
+ }
852
+
853
+ .vd-order-1 {
854
+ order: 1;
855
+ }
856
+
857
+ .vd-order-2 {
858
+ order: 2;
859
+ }
860
+
861
+ .vd-order-3 {
862
+ order: 3;
863
+ }
864
+
865
+ .vd-order-4 {
866
+ order: 4;
867
+ }
868
+
869
+ .vd-order-5 {
870
+ order: 5;
871
+ }
872
+
873
+ .vd-order-6 {
874
+ order: 6;
875
+ }
876
+
877
+ .vd-order-7 {
878
+ order: 7;
879
+ }
880
+
881
+ .vd-order-8 {
882
+ order: 8;
883
+ }
884
+
885
+ .vd-order-9 {
886
+ order: 9;
887
+ }
888
+
889
+ .vd-order-10 {
890
+ order: 10;
891
+ }
892
+
893
+ .vd-order-11 {
894
+ order: 11;
895
+ }
896
+
897
+ .vd-order-12 {
898
+ order: 12;
899
+ }
900
+
901
+ /* Responsive Order - sm */
902
+ @media (min-width: 576px) {
903
+ .vd-order-sm-first {
904
+ order: -1;
905
+ }
906
+
907
+ .vd-order-sm-last {
908
+ order: 13;
909
+ }
910
+
911
+ .vd-order-sm-0 {
912
+ order: 0;
913
+ }
914
+
915
+ .vd-order-sm-1 {
916
+ order: 1;
917
+ }
918
+
919
+ .vd-order-sm-2 {
920
+ order: 2;
921
+ }
922
+
923
+ .vd-order-sm-3 {
924
+ order: 3;
925
+ }
926
+
927
+ .vd-order-sm-4 {
928
+ order: 4;
929
+ }
930
+
931
+ .vd-order-sm-5 {
932
+ order: 5;
933
+ }
934
+
935
+ .vd-order-sm-6 {
936
+ order: 6;
937
+ }
938
+
939
+ .vd-order-sm-7 {
940
+ order: 7;
941
+ }
942
+
943
+ .vd-order-sm-8 {
944
+ order: 8;
945
+ }
946
+
947
+ .vd-order-sm-9 {
948
+ order: 9;
949
+ }
950
+
951
+ .vd-order-sm-10 {
952
+ order: 10;
953
+ }
954
+
955
+ .vd-order-sm-11 {
956
+ order: 11;
957
+ }
958
+
959
+ .vd-order-sm-12 {
960
+ order: 12;
961
+ }
962
+ }
963
+
964
+ /* Responsive Order - md */
965
+ @media (min-width: 768px) {
966
+ .vd-order-md-first {
967
+ order: -1;
968
+ }
969
+
970
+ .vd-order-md-last {
971
+ order: 13;
972
+ }
973
+
974
+ .vd-order-md-0 {
975
+ order: 0;
976
+ }
977
+
978
+ .vd-order-md-1 {
979
+ order: 1;
980
+ }
981
+
982
+ .vd-order-md-2 {
983
+ order: 2;
984
+ }
985
+
986
+ .vd-order-md-3 {
987
+ order: 3;
988
+ }
989
+
990
+ .vd-order-md-4 {
991
+ order: 4;
992
+ }
993
+
994
+ .vd-order-md-5 {
995
+ order: 5;
996
+ }
997
+
998
+ .vd-order-md-6 {
999
+ order: 6;
1000
+ }
1001
+
1002
+ .vd-order-md-7 {
1003
+ order: 7;
1004
+ }
1005
+
1006
+ .vd-order-md-8 {
1007
+ order: 8;
1008
+ }
1009
+
1010
+ .vd-order-md-9 {
1011
+ order: 9;
1012
+ }
1013
+
1014
+ .vd-order-md-10 {
1015
+ order: 10;
1016
+ }
1017
+
1018
+ .vd-order-md-11 {
1019
+ order: 11;
1020
+ }
1021
+
1022
+ .vd-order-md-12 {
1023
+ order: 12;
1024
+ }
1025
+ }
1026
+
1027
+ /* Responsive Order - lg */
1028
+ @media (min-width: 992px) {
1029
+ .vd-order-lg-first {
1030
+ order: -1;
1031
+ }
1032
+
1033
+ .vd-order-lg-last {
1034
+ order: 13;
1035
+ }
1036
+
1037
+ .vd-order-lg-0 {
1038
+ order: 0;
1039
+ }
1040
+
1041
+ .vd-order-lg-1 {
1042
+ order: 1;
1043
+ }
1044
+
1045
+ .vd-order-lg-2 {
1046
+ order: 2;
1047
+ }
1048
+
1049
+ .vd-order-lg-3 {
1050
+ order: 3;
1051
+ }
1052
+
1053
+ .vd-order-lg-4 {
1054
+ order: 4;
1055
+ }
1056
+
1057
+ .vd-order-lg-5 {
1058
+ order: 5;
1059
+ }
1060
+
1061
+ .vd-order-lg-6 {
1062
+ order: 6;
1063
+ }
1064
+
1065
+ .vd-order-lg-7 {
1066
+ order: 7;
1067
+ }
1068
+
1069
+ .vd-order-lg-8 {
1070
+ order: 8;
1071
+ }
1072
+
1073
+ .vd-order-lg-9 {
1074
+ order: 9;
1075
+ }
1076
+
1077
+ .vd-order-lg-10 {
1078
+ order: 10;
1079
+ }
1080
+
1081
+ .vd-order-lg-11 {
1082
+ order: 11;
1083
+ }
1084
+
1085
+ .vd-order-lg-12 {
1086
+ order: 12;
1087
+ }
1088
+ }
1089
+
1090
+ /* Responsive Order - xl */
1091
+ @media (min-width: 1200px) {
1092
+ .vd-order-xl-first {
1093
+ order: -1;
1094
+ }
1095
+
1096
+ .vd-order-xl-last {
1097
+ order: 13;
1098
+ }
1099
+
1100
+ .vd-order-xl-0 {
1101
+ order: 0;
1102
+ }
1103
+
1104
+ .vd-order-xl-1 {
1105
+ order: 1;
1106
+ }
1107
+
1108
+ .vd-order-xl-2 {
1109
+ order: 2;
1110
+ }
1111
+
1112
+ .vd-order-xl-3 {
1113
+ order: 3;
1114
+ }
1115
+
1116
+ .vd-order-xl-4 {
1117
+ order: 4;
1118
+ }
1119
+
1120
+ .vd-order-xl-5 {
1121
+ order: 5;
1122
+ }
1123
+
1124
+ .vd-order-xl-6 {
1125
+ order: 6;
1126
+ }
1127
+
1128
+ .vd-order-xl-7 {
1129
+ order: 7;
1130
+ }
1131
+
1132
+ .vd-order-xl-8 {
1133
+ order: 8;
1134
+ }
1135
+
1136
+ .vd-order-xl-9 {
1137
+ order: 9;
1138
+ }
1139
+
1140
+ .vd-order-xl-10 {
1141
+ order: 10;
1142
+ }
1143
+
1144
+ .vd-order-xl-11 {
1145
+ order: 11;
1146
+ }
1147
+
1148
+ .vd-order-xl-12 {
1149
+ order: 12;
1150
+ }
1151
+ }
1152
+
1153
+ /* Responsive Order - 2xl */
1154
+ @media (min-width: 1400px) {
1155
+ .vd-order-2xl-first {
1156
+ order: -1;
1157
+ }
1158
+
1159
+ .vd-order-2xl-last {
1160
+ order: 13;
1161
+ }
1162
+
1163
+ .vd-order-2xl-0 {
1164
+ order: 0;
1165
+ }
1166
+
1167
+ .vd-order-2xl-1 {
1168
+ order: 1;
1169
+ }
1170
+
1171
+ .vd-order-2xl-2 {
1172
+ order: 2;
1173
+ }
1174
+
1175
+ .vd-order-2xl-3 {
1176
+ order: 3;
1177
+ }
1178
+
1179
+ .vd-order-2xl-4 {
1180
+ order: 4;
1181
+ }
1182
+
1183
+ .vd-order-2xl-5 {
1184
+ order: 5;
1185
+ }
1186
+
1187
+ .vd-order-2xl-6 {
1188
+ order: 6;
1189
+ }
1190
+
1191
+ .vd-order-2xl-7 {
1192
+ order: 7;
1193
+ }
1194
+
1195
+ .vd-order-2xl-8 {
1196
+ order: 8;
1197
+ }
1198
+
1199
+ .vd-order-2xl-9 {
1200
+ order: 9;
1201
+ }
1202
+
1203
+ .vd-order-2xl-10 {
1204
+ order: 10;
1205
+ }
1206
+
1207
+ .vd-order-2xl-11 {
1208
+ order: 11;
1209
+ }
1210
+
1211
+ .vd-order-2xl-12 {
1212
+ order: 12;
1213
+ }
1214
+ }
1215
+
1216
+ /* ===================================================
1217
+ * Golden Ratio Grid Layouts
1218
+ * Two-column split: 38.2% / 61.8% (minor / major)
1219
+ * Fibonacci column ratios: 2:3:5, 3:5:8, 5:8
1220
+ * =================================================== */
1221
+
1222
+ /* Wide container variant (Fibonacci: 1597px) */
1223
+ .vd-container-wide {
1224
+ max-width: var(--container-max-width-wide);
1225
+ }
1226
+
1227
+ /* Fibonacci-number container widths */
1228
+ .vd-container-fib-610 {
1229
+ max-width: 610px;
1230
+ margin-left: auto;
1231
+ margin-right: auto;
1232
+ padding-left: var(--container-padding);
1233
+ padding-right: var(--container-padding);
1234
+ }
1235
+
1236
+ .vd-container-fib-987 {
1237
+ max-width: 987px;
1238
+ margin-left: auto;
1239
+ margin-right: auto;
1240
+ padding-left: var(--container-padding);
1241
+ padding-right: var(--container-padding);
1242
+ }
1243
+
1244
+ .vd-container-fib-1597 {
1245
+ max-width: 1597px;
1246
+ margin-left: auto;
1247
+ margin-right: auto;
1248
+ padding-left: var(--container-padding);
1249
+ padding-right: var(--container-padding);
1250
+ }
1251
+
1252
+ /* ===================================================
1253
+ * Responsive Containers
1254
+ * Fluid below their breakpoint, fixed max-width above
1255
+ * =================================================== */
1256
+
1257
+ .vd-container-sm,
1258
+ .vd-container-md,
1259
+ .vd-container-lg,
1260
+ .vd-container-xl,
1261
+ .vd-container-2xl {
1262
+ width: 100%;
1263
+ margin-left: auto;
1264
+ margin-right: auto;
1265
+ padding-left: var(--container-padding);
1266
+ padding-right: var(--container-padding);
1267
+ }
1268
+
1269
+ @media (min-width: 576px) {
1270
+ .vd-container-sm {
1271
+ max-width: var(--container-sm);
1272
+ }
1273
+ }
1274
+
1275
+ @media (min-width: 768px) {
1276
+ .vd-container-sm {
1277
+ max-width: var(--container-md);
1278
+ }
1279
+
1280
+ .vd-container-md {
1281
+ max-width: var(--container-md);
1282
+ }
1283
+ }
1284
+
1285
+ @media (min-width: 992px) {
1286
+ .vd-container-sm {
1287
+ max-width: var(--container-lg);
1288
+ }
1289
+
1290
+ .vd-container-md {
1291
+ max-width: var(--container-lg);
1292
+ }
1293
+
1294
+ .vd-container-lg {
1295
+ max-width: var(--container-lg);
1296
+ }
1297
+ }
1298
+
1299
+ @media (min-width: 1200px) {
1300
+ .vd-container-sm {
1301
+ max-width: var(--container-xl);
1302
+ }
1303
+
1304
+ .vd-container-md {
1305
+ max-width: var(--container-xl);
1306
+ }
1307
+
1308
+ .vd-container-lg {
1309
+ max-width: var(--container-xl);
1310
+ }
1311
+
1312
+ .vd-container-xl {
1313
+ max-width: var(--container-xl);
1314
+ }
1315
+ }
1316
+
1317
+ @media (min-width: 1400px) {
1318
+ .vd-container-sm {
1319
+ max-width: var(--container-2xl);
1320
+ }
1321
+
1322
+ .vd-container-md {
1323
+ max-width: var(--container-2xl);
1324
+ }
1325
+
1326
+ .vd-container-lg {
1327
+ max-width: var(--container-2xl);
1328
+ }
1329
+
1330
+ .vd-container-xl {
1331
+ max-width: var(--container-2xl);
1332
+ }
1333
+
1334
+ .vd-container-2xl {
1335
+ max-width: var(--container-2xl);
1336
+ }
1337
+ }
1338
+
1339
+ /* Golden Ratio Two-Column (flexbox) */
1340
+ .vd-row-golden {
1341
+ display: flex;
1342
+ flex-wrap: wrap;
1343
+ margin-left: calc(var(--grid-gutter) * -0.5);
1344
+ margin-right: calc(var(--grid-gutter) * -0.5);
1345
+ }
1346
+
1347
+ .vd-row-golden>.vd-col-golden-minor {
1348
+ flex: 0 0 auto;
1349
+ width: 38.196601%;
1350
+ padding-left: calc(var(--grid-gutter) * 0.5);
1351
+ padding-right: calc(var(--grid-gutter) * 0.5);
1352
+ }
1353
+
1354
+ .vd-row-golden>.vd-col-golden-major {
1355
+ flex: 0 0 auto;
1356
+ width: 61.803399%;
1357
+ padding-left: calc(var(--grid-gutter) * 0.5);
1358
+ padding-right: calc(var(--grid-gutter) * 0.5);
1359
+ }
1360
+
1361
+ /* Fibonacci Two-Column: 5:8 proportions */
1362
+ .vd-row-fib-2 {
1363
+ display: flex;
1364
+ flex-wrap: wrap;
1365
+ margin-left: calc(var(--grid-gutter) * -0.5);
1366
+ margin-right: calc(var(--grid-gutter) * -0.5);
1367
+ }
1368
+
1369
+ .vd-row-fib-2>.vd-col-fib-5 {
1370
+ flex: 0 0 auto;
1371
+ width: 38.461538%;
1372
+ /* 5/13 */
1373
+ padding-left: calc(var(--grid-gutter) * 0.5);
1374
+ padding-right: calc(var(--grid-gutter) * 0.5);
1375
+ }
1376
+
1377
+ .vd-row-fib-2>.vd-col-fib-8 {
1378
+ flex: 0 0 auto;
1379
+ width: 61.538462%;
1380
+ /* 8/13 */
1381
+ padding-left: calc(var(--grid-gutter) * 0.5);
1382
+ padding-right: calc(var(--grid-gutter) * 0.5);
1383
+ }
1384
+
1385
+ /* Fibonacci Three-Column: 2:3:5 proportions */
1386
+ .vd-row-fib-3 {
1387
+ display: flex;
1388
+ flex-wrap: wrap;
1389
+ margin-left: calc(var(--grid-gutter) * -0.5);
1390
+ margin-right: calc(var(--grid-gutter) * -0.5);
1391
+ }
1392
+
1393
+ .vd-row-fib-3>.vd-col-fib-2 {
1394
+ flex: 0 0 auto;
1395
+ width: 20%;
1396
+ /* 2/10 */
1397
+ padding-left: calc(var(--grid-gutter) * 0.5);
1398
+ padding-right: calc(var(--grid-gutter) * 0.5);
1399
+ }
1400
+
1401
+ .vd-row-fib-3>.vd-col-fib-3 {
1402
+ flex: 0 0 auto;
1403
+ width: 30%;
1404
+ /* 3/10 */
1405
+ padding-left: calc(var(--grid-gutter) * 0.5);
1406
+ padding-right: calc(var(--grid-gutter) * 0.5);
1407
+ }
1408
+
1409
+ .vd-row-fib-3>.vd-col-fib-5 {
1410
+ flex: 0 0 auto;
1411
+ width: 50%;
1412
+ /* 5/10 */
1413
+ padding-left: calc(var(--grid-gutter) * 0.5);
1414
+ padding-right: calc(var(--grid-gutter) * 0.5);
1415
+ }
1416
+
1417
+ /* CSS Grid Golden Ratio layouts */
1418
+ .vd-grid-golden,
1419
+ .grid-golden {
1420
+ display: grid;
1421
+ grid-template-columns: 1fr 1.618fr;
1422
+ gap: var(--grid-gutter);
1423
+ }
1424
+
1425
+ .vd-grid-golden-reverse,
1426
+ .grid-golden-reverse {
1427
+ display: grid;
1428
+ grid-template-columns: 1.618fr 1fr;
1429
+ gap: var(--grid-gutter);
1430
+ }
1431
+
1432
+ .vd-grid-fib-3,
1433
+ .grid-fib-3 {
1434
+ display: grid;
1435
+ grid-template-columns: 2fr 3fr 5fr;
1436
+ gap: var(--grid-gutter);
1437
+ }
1438
+
1439
+ /* Fibonacci Four-Column: 1:2:3:5 proportions */
1440
+ .vd-row-fib-4 {
1441
+ display: flex;
1442
+ flex-wrap: wrap;
1443
+ margin-left: calc(var(--grid-gutter) * -0.5);
1444
+ margin-right: calc(var(--grid-gutter) * -0.5);
1445
+ }
1446
+
1447
+ .vd-row-fib-4>.vd-col-fib-1 {
1448
+ flex: 0 0 auto;
1449
+ width: 9.090909%;
1450
+ /* 1/11 */
1451
+ padding-left: calc(var(--grid-gutter) * 0.5);
1452
+ padding-right: calc(var(--grid-gutter) * 0.5);
1453
+ }
1454
+
1455
+ .vd-row-fib-4>.vd-col-fib-2 {
1456
+ flex: 0 0 auto;
1457
+ width: 18.181818%;
1458
+ /* 2/11 */
1459
+ padding-left: calc(var(--grid-gutter) * 0.5);
1460
+ padding-right: calc(var(--grid-gutter) * 0.5);
1461
+ }
1462
+
1463
+ .vd-row-fib-4>.vd-col-fib-3 {
1464
+ flex: 0 0 auto;
1465
+ width: 27.272727%;
1466
+ /* 3/11 */
1467
+ padding-left: calc(var(--grid-gutter) * 0.5);
1468
+ padding-right: calc(var(--grid-gutter) * 0.5);
1469
+ }
1470
+
1471
+ .vd-row-fib-4>.vd-col-fib-5 {
1472
+ flex: 0 0 auto;
1473
+ width: 45.454545%;
1474
+ /* 5/11 */
1475
+ padding-left: calc(var(--grid-gutter) * 0.5);
1476
+ padding-right: calc(var(--grid-gutter) * 0.5);
1477
+ }
1478
+
1479
+ /* Fibonacci Three-Column: 3:5:8 proportions */
1480
+ .vd-row-fib-3-alt {
1481
+ display: flex;
1482
+ flex-wrap: wrap;
1483
+ margin-left: calc(var(--grid-gutter) * -0.5);
1484
+ margin-right: calc(var(--grid-gutter) * -0.5);
1485
+ }
1486
+
1487
+ .vd-row-fib-3-alt>.vd-col-fib-3 {
1488
+ flex: 0 0 auto;
1489
+ width: 18.75%;
1490
+ /* 3/16 */
1491
+ padding-left: calc(var(--grid-gutter) * 0.5);
1492
+ padding-right: calc(var(--grid-gutter) * 0.5);
1493
+ }
1494
+
1495
+ .vd-row-fib-3-alt>.vd-col-fib-5 {
1496
+ flex: 0 0 auto;
1497
+ width: 31.25%;
1498
+ /* 5/16 */
1499
+ padding-left: calc(var(--grid-gutter) * 0.5);
1500
+ padding-right: calc(var(--grid-gutter) * 0.5);
1501
+ }
1502
+
1503
+ .vd-row-fib-3-alt>.vd-col-fib-8 {
1504
+ flex: 0 0 auto;
1505
+ width: 50%;
1506
+ /* 8/16 */
1507
+ padding-left: calc(var(--grid-gutter) * 0.5);
1508
+ padding-right: calc(var(--grid-gutter) * 0.5);
1509
+ }
1510
+
1511
+ /* CSS Grid Fibonacci variants */
1512
+ .vd-grid-fib-4,
1513
+ .grid-fib-4 {
1514
+ display: grid;
1515
+ grid-template-columns: 1fr 2fr 3fr 5fr;
1516
+ gap: var(--grid-gutter);
1517
+ }
1518
+
1519
+ .vd-grid-fib-3-alt,
1520
+ .grid-fib-3-alt {
1521
+ display: grid;
1522
+ grid-template-columns: 3fr 5fr 8fr;
1523
+ gap: var(--grid-gutter);
1524
+ }
1525
+
1526
+ /* ===================================================
1527
+ * Fibonacci Gap Utilities
1528
+ * Gap classes using Fibonacci sequence values
1529
+ * =================================================== */
1530
+
1531
+ .vd-gap-fib-2 {
1532
+ gap: var(--gap-fib-2);
1533
+ }
1534
+
1535
+ .vd-gap-fib-3 {
1536
+ gap: var(--gap-fib-3);
1537
+ }
1538
+
1539
+ .vd-gap-fib-5 {
1540
+ gap: var(--gap-fib-5);
1541
+ }
1542
+
1543
+ .vd-gap-fib-8 {
1544
+ gap: var(--gap-fib-8);
1545
+ }
1546
+
1547
+ .vd-gap-fib-13 {
1548
+ gap: var(--gap-fib-13);
1549
+ }
1550
+
1551
+ .vd-gap-fib-21 {
1552
+ gap: var(--gap-fib-21);
1553
+ }
1554
+
1555
+ .vd-row-gap-fib-2 {
1556
+ row-gap: var(--gap-fib-2);
1557
+ }
1558
+
1559
+ .vd-row-gap-fib-3 {
1560
+ row-gap: var(--gap-fib-3);
1561
+ }
1562
+
1563
+ .vd-row-gap-fib-5 {
1564
+ row-gap: var(--gap-fib-5);
1565
+ }
1566
+
1567
+ .vd-row-gap-fib-8 {
1568
+ row-gap: var(--gap-fib-8);
1569
+ }
1570
+
1571
+ .vd-row-gap-fib-13 {
1572
+ row-gap: var(--gap-fib-13);
1573
+ }
1574
+
1575
+ .vd-row-gap-fib-21 {
1576
+ row-gap: var(--gap-fib-21);
1577
+ }
1578
+
1579
+ .vd-col-gap-fib-2 {
1580
+ column-gap: var(--gap-fib-2);
1581
+ }
1582
+
1583
+ .vd-col-gap-fib-3 {
1584
+ column-gap: var(--gap-fib-3);
1585
+ }
1586
+
1587
+ .vd-col-gap-fib-5 {
1588
+ column-gap: var(--gap-fib-5);
1589
+ }
1590
+
1591
+ .vd-col-gap-fib-8 {
1592
+ column-gap: var(--gap-fib-8);
1593
+ }
1594
+
1595
+ .vd-col-gap-fib-13 {
1596
+ column-gap: var(--gap-fib-13);
1597
+ }
1598
+
1599
+ .vd-col-gap-fib-21 {
1600
+ column-gap: var(--gap-fib-21);
1601
+ }
1602
+
1603
+ /* ===================================================
1604
+ * Grid Mode Toggle Classes
1605
+ * Switch between standard 12-column and Fibonacci modes
1606
+ * =================================================== */
1607
+
1608
+ /* Standard grid mode (default behavior) */
1609
+ .vd-grid-standard>.vd-row,
1610
+ .grid-standard>.vd-row {
1611
+ display: flex;
1612
+ flex-wrap: wrap;
1613
+ }
1614
+
1615
+ /* Fibonacci grid mode - converts rows to CSS Grid with Fibonacci proportions */
1616
+ .vd-grid-fibonacci>.vd-row,
1617
+ .grid-fibonacci>.vd-row {
1618
+ display: grid;
1619
+ gap: var(--grid-gutter);
1620
+ margin-left: 0;
1621
+ margin-right: 0;
1622
+ }
1623
+
1624
+ .vd-grid-fibonacci>.vd-row>[class*="col-"],
1625
+ .grid-fibonacci>.vd-row>[class*="col-"] {
1626
+ width: auto;
1627
+ padding-left: 0;
1628
+ padding-right: 0;
1629
+ flex: none;
1630
+ }
1631
+
1632
+ /* Two-child fibonacci rows use golden ratio */
1633
+ .vd-grid-fibonacci>.vd-row:has(> [class*="col-"]:nth-child(2):last-child),
1634
+ .grid-fibonacci>.vd-row:has(> [class*="col-"]:nth-child(2):last-child) {
1635
+ grid-template-columns: 1fr 1.618fr;
1636
+ }
1637
+
1638
+ /* Three-child fibonacci rows use 2:3:5 */
1639
+ .vd-grid-fibonacci>.vd-row:has(> [class*="col-"]:nth-child(3):last-child),
1640
+ .grid-fibonacci>.vd-row:has(> [class*="col-"]:nth-child(3):last-child) {
1641
+ grid-template-columns: 2fr 3fr 5fr;
1642
+ }
1643
+
1644
+ /* Four-child fibonacci rows use 1:2:3:5 */
1645
+ .vd-grid-fibonacci>.vd-row:has(> [class*="col-"]:nth-child(4):last-child),
1646
+ .grid-fibonacci>.vd-row:has(> [class*="col-"]:nth-child(4):last-child) {
1647
+ grid-template-columns: 1fr 2fr 3fr 5fr;
1648
+ }
1649
+
1650
+ /* Single-child rows stay full width */
1651
+ .vd-grid-fibonacci>.vd-row:has(> [class*="col-"]:only-child),
1652
+ .grid-fibonacci>.vd-row:has(> [class*="col-"]:only-child) {
1653
+ grid-template-columns: 1fr;
1654
+ }
1655
+
1656
+ /* Five+ children use equal columns */
1657
+ .vd-grid-fibonacci>.vd-row:has(> [class*="col-"]:nth-child(5)),
1658
+ .grid-fibonacci>.vd-row:has(> [class*="col-"]:nth-child(5)) {
1659
+ grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
1660
+ }
1661
+
1662
+ /* Responsive: stack golden/fibonacci grids on mobile */
1663
+ @media (max-width: 767.98px) {
1664
+
1665
+ .vd-row-golden>.vd-col-golden-minor,
1666
+ .vd-row-golden>.vd-col-golden-major,
1667
+ .vd-row-fib-2>.vd-col-fib-5,
1668
+ .vd-row-fib-2>.vd-col-fib-8,
1669
+ .vd-row-fib-3>.vd-col-fib-2,
1670
+ .vd-row-fib-3>.vd-col-fib-3,
1671
+ .vd-row-fib-3>.vd-col-fib-5,
1672
+ .vd-row-fib-4>.vd-col-fib-1,
1673
+ .vd-row-fib-4>.vd-col-fib-2,
1674
+ .vd-row-fib-4>.vd-col-fib-3,
1675
+ .vd-row-fib-4>.vd-col-fib-5,
1676
+ .vd-row-fib-3-alt>.vd-col-fib-3,
1677
+ .vd-row-fib-3-alt>.vd-col-fib-5,
1678
+ .vd-row-fib-3-alt>.vd-col-fib-8 {
1679
+ width: 100%;
1680
+ }
1681
+
1682
+ .vd-grid-golden,
1683
+ .vd-grid-golden-reverse,
1684
+ .vd-grid-fib-3,
1685
+ .vd-grid-fib-4,
1686
+ .vd-grid-fib-3-alt,
1687
+ .grid-golden,
1688
+ .grid-golden-reverse,
1689
+ .grid-fib-3,
1690
+ .grid-fib-4,
1691
+ .grid-fib-3-alt {
1692
+ grid-template-columns: 1fr;
1693
+ }
1694
+
1695
+ .vd-grid-fibonacci>.vd-row,
1696
+ .grid-fibonacci>.vd-row {
1697
+ grid-template-columns: 1fr;
1698
+ }
1699
+ }