@transferwise/neptune-css 0.0.0-experimental-1181467

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 (180) hide show
  1. package/LICENSE.md +13 -0
  2. package/README.md +45 -0
  3. package/dist/css/accordion.css +1 -0
  4. package/dist/css/alerts.css +1 -0
  5. package/dist/css/background.css +1 -0
  6. package/dist/css/badge.css +1 -0
  7. package/dist/css/border-radius.css +1 -0
  8. package/dist/css/breadcrumbs.css +1 -0
  9. package/dist/css/button-groups.css +1 -0
  10. package/dist/css/buttons.css +1 -0
  11. package/dist/css/chevron.css +1 -0
  12. package/dist/css/circles.css +1 -0
  13. package/dist/css/close.css +1 -0
  14. package/dist/css/column-layout.css +1 -0
  15. package/dist/css/currency-flags.css +1 -0
  16. package/dist/css/decision.css +1 -0
  17. package/dist/css/dropdowns.css +1 -0
  18. package/dist/css/droppable.css +1 -0
  19. package/dist/css/flex.css +1 -0
  20. package/dist/css/footer.css +1 -0
  21. package/dist/css/grid.css +1 -0
  22. package/dist/css/input-groups.css +1 -0
  23. package/dist/css/link-callout.css +1 -0
  24. package/dist/css/list-group.css +1 -0
  25. package/dist/css/loaders.css +1 -0
  26. package/dist/css/media.css +1 -0
  27. package/dist/css/modals.css +1 -0
  28. package/dist/css/navbar-base.css +1 -0
  29. package/dist/css/navbar.css +1 -0
  30. package/dist/css/navs.css +1 -0
  31. package/dist/css/neptune-addons.css +1 -0
  32. package/dist/css/neptune-core.css +1 -0
  33. package/dist/css/neptune-social-media.css +1 -0
  34. package/dist/css/neptune.css +1 -0
  35. package/dist/css/panels.css +1 -0
  36. package/dist/css/popovers.css +1 -0
  37. package/dist/css/process.css +1 -0
  38. package/dist/css/progress-bars.css +1 -0
  39. package/dist/css/ring.css +1 -0
  40. package/dist/css/select.css +1 -0
  41. package/dist/css/sequences.css +1 -0
  42. package/dist/css/table.css +1 -0
  43. package/dist/css/tick.css +1 -0
  44. package/dist/css/tooltip.css +1 -0
  45. package/dist/css/utilities.css +1 -0
  46. package/dist/css/wells.css +1 -0
  47. package/dist/fonts/TW-Averta-Bold.woff +0 -0
  48. package/dist/fonts/TW-Averta-Bold.woff2 +0 -0
  49. package/dist/fonts/TW-Averta-Regular.woff +0 -0
  50. package/dist/fonts/TW-Averta-Regular.woff2 +0 -0
  51. package/dist/fonts/TW-Averta-Semibold.woff +0 -0
  52. package/dist/fonts/TW-Averta-Semibold.woff2 +0 -0
  53. package/dist/fonts/TransferWise-IconFont.svg +81 -0
  54. package/dist/fonts/TransferWise-IconFont.woff +0 -0
  55. package/dist/fonts/WorldwiseSans-Heavy.woff2 +0 -0
  56. package/dist/fonts/inter-cyrillic-ext-variable-wghtOnly-normal.woff2 +0 -0
  57. package/dist/fonts/inter-cyrillic-variable-wghtOnly-normal.woff2 +0 -0
  58. package/dist/fonts/inter-greek-ext-variable-wghtOnly-normal.woff2 +0 -0
  59. package/dist/fonts/inter-greek-variable-wghtOnly-normal.woff2 +0 -0
  60. package/dist/fonts/inter-latin-ext-variable-wghtOnly-normal.woff2 +0 -0
  61. package/dist/fonts/inter-latin-variable-wghtOnly-normal.woff2 +0 -0
  62. package/dist/fonts/inter-vietnamese-variable-wghtOnly-normal.woff2 +0 -0
  63. package/dist/img/bg-dark.svg +31 -0
  64. package/dist/img/bg-light.svg +26 -0
  65. package/dist/less/legacy-variables.less +1299 -0
  66. package/dist/less/neptune-tokens.less +272 -0
  67. package/dist/less/zindex.less +17 -0
  68. package/dist/props/custom-media.css +9 -0
  69. package/dist/props/legacy-custom-props.css +69 -0
  70. package/dist/props/neptune-tokens.css +150 -0
  71. package/package.json +59 -0
  72. package/scripts/neptune-css-upgrader.js +106 -0
  73. package/src/fonts/TW-Averta-Bold.woff +0 -0
  74. package/src/fonts/TW-Averta-Bold.woff2 +0 -0
  75. package/src/fonts/TW-Averta-Regular.woff +0 -0
  76. package/src/fonts/TW-Averta-Regular.woff2 +0 -0
  77. package/src/fonts/TW-Averta-Semibold.woff +0 -0
  78. package/src/fonts/TW-Averta-Semibold.woff2 +0 -0
  79. package/src/fonts/TransferWise-IconFont.svg +81 -0
  80. package/src/fonts/TransferWise-IconFont.woff +0 -0
  81. package/src/fonts/WorldwiseSans-Heavy.woff2 +0 -0
  82. package/src/fonts/inter-cyrillic-ext-variable-wghtOnly-normal.woff2 +0 -0
  83. package/src/fonts/inter-cyrillic-variable-wghtOnly-normal.woff2 +0 -0
  84. package/src/fonts/inter-greek-ext-variable-wghtOnly-normal.woff2 +0 -0
  85. package/src/fonts/inter-greek-variable-wghtOnly-normal.woff2 +0 -0
  86. package/src/fonts/inter-latin-ext-variable-wghtOnly-normal.woff2 +0 -0
  87. package/src/fonts/inter-latin-variable-wghtOnly-normal.woff2 +0 -0
  88. package/src/fonts/inter-vietnamese-variable-wghtOnly-normal.woff2 +0 -0
  89. package/src/img/bg-dark.svg +31 -0
  90. package/src/img/bg-light.svg +26 -0
  91. package/src/less/accordion.less +15 -0
  92. package/src/less/addons/_background-utilities.less +82 -0
  93. package/src/less/addons/_border.less +3 -0
  94. package/src/less/addons/_display-utilities.less +159 -0
  95. package/src/less/addons/_spacing-utilities.less +49 -0
  96. package/src/less/addons/_utilities.less +147 -0
  97. package/src/less/alerts.less +253 -0
  98. package/src/less/background.less +24 -0
  99. package/src/less/badge.less +85 -0
  100. package/src/less/border-radius.less +3 -0
  101. package/src/less/breadcrumbs.less +27 -0
  102. package/src/less/button-groups.less +424 -0
  103. package/src/less/buttons.less +714 -0
  104. package/src/less/chevron.less +39 -0
  105. package/src/less/circles.less +223 -0
  106. package/src/less/close.less +48 -0
  107. package/src/less/column-layout.less +167 -0
  108. package/src/less/components/_component-animations.less +43 -0
  109. package/src/less/core/_fonts.less +97 -0
  110. package/src/less/core/_scaffolding.less +473 -0
  111. package/src/less/core/_typography-utilities.less +269 -0
  112. package/src/less/core/_typography.less +794 -0
  113. package/src/less/currency-flags.less +41 -0
  114. package/src/less/decision.less +98 -0
  115. package/src/less/dropdowns.less +374 -0
  116. package/src/less/droppable.less +280 -0
  117. package/src/less/flex.less +113 -0
  118. package/src/less/footer.less +113 -0
  119. package/src/less/forms/bootstrap-forms.less +1227 -0
  120. package/src/less/forms/checkbox-radio.less +303 -0
  121. package/src/less/grid.less +187 -0
  122. package/src/less/input-groups.less +299 -0
  123. package/src/less/link-callout.less +17 -0
  124. package/src/less/list-group.less +260 -0
  125. package/src/less/loaders.less +91 -0
  126. package/src/less/media.less +61 -0
  127. package/src/less/mixins/_alerts.less +35 -0
  128. package/src/less/mixins/_arrows.less +52 -0
  129. package/src/less/mixins/_border-radius.less +11 -0
  130. package/src/less/mixins/_buttons.less +82 -0
  131. package/src/less/mixins/_center-block.less +7 -0
  132. package/src/less/mixins/_circle.less +11 -0
  133. package/src/less/mixins/_clearfix.less +23 -0
  134. package/src/less/mixins/_flex.less +105 -0
  135. package/src/less/mixins/_forms.less +128 -0
  136. package/src/less/mixins/_grid-framework.less +104 -0
  137. package/src/less/mixins/_grid.less +158 -0
  138. package/src/less/mixins/_hide-text.less +20 -0
  139. package/src/less/mixins/_links.less +7 -0
  140. package/src/less/mixins/_list-group.less +23 -0
  141. package/src/less/mixins/_logical-properties-IE-friendly.less +381 -0
  142. package/src/less/mixins/_logical-properties-modern-browsers.less +226 -0
  143. package/src/less/mixins/_logical-properties.less +5 -0
  144. package/src/less/mixins/_nav-vertical-align.less +10 -0
  145. package/src/less/mixins/_panels.less +23 -0
  146. package/src/less/mixins/_physical-properties.less +110 -0
  147. package/src/less/mixins/_reset-text.less +22 -0
  148. package/src/less/mixins/_sequence.less +203 -0
  149. package/src/less/mixins/_spacing.less +122 -0
  150. package/src/less/mixins/_tab-focus.less +5 -0
  151. package/src/less/mixins/_table-row.less +47 -0
  152. package/src/less/mixins/_text-emphasis.less +39 -0
  153. package/src/less/mixins/_theming.less +7 -0
  154. package/src/less/modals.less +239 -0
  155. package/src/less/navbar-base.less +1333 -0
  156. package/src/less/navbar.less +106 -0
  157. package/src/less/navs.less +341 -0
  158. package/src/less/neptune-addons.less +4 -0
  159. package/src/less/neptune-core.less +4 -0
  160. package/src/less/neptune-social-media.less +57 -0
  161. package/src/less/neptune.bundle.less +44 -0
  162. package/src/less/panels.less +410 -0
  163. package/src/less/popovers.less +381 -0
  164. package/src/less/process.less +395 -0
  165. package/src/less/progress-bars.less +70 -0
  166. package/src/less/ring.less +51 -0
  167. package/src/less/select.less +88 -0
  168. package/src/less/sequences.less +515 -0
  169. package/src/less/table.less +385 -0
  170. package/src/less/tick.less +37 -0
  171. package/src/less/tooltip.less +132 -0
  172. package/src/less/utilities.less +153 -0
  173. package/src/less/wells.less +37 -0
  174. package/src/props/custom-media.css +9 -0
  175. package/src/props/legacy-custom-props.css +69 -0
  176. package/src/props/neptune-tokens.css +11 -0
  177. package/src/variables/legacy-variables.less +1299 -0
  178. package/src/variables/neptune-tokens.less +12 -0
  179. package/src/variables/zindex.less +17 -0
  180. package/upgrades/scripts/2021-11-v11-v12.js +61 -0
@@ -0,0 +1,303 @@
1
+ @import (reference) "../../variables/legacy-variables.less";
2
+ @import (reference) "../../variables/neptune-tokens.less";
3
+ @import (reference) "../mixins/_logical-properties.less";
4
+
5
+ .radio,
6
+ .checkbox {
7
+ border-color: var(--color-interactive-secondary);
8
+
9
+ > label {
10
+ position: relative;
11
+ .padding(left, 48px);
12
+
13
+ input[type="radio"],
14
+ input[type="checkbox"] {
15
+ display: block;
16
+ position: absolute;
17
+ top: 13px;
18
+ .left(40px);
19
+ }
20
+ }
21
+ }
22
+
23
+ .tw-checkbox-button {
24
+ border: 1px solid var(--color-interactive-secondary);
25
+ background: var(--color-background-screen);
26
+ width: 22px;
27
+ height: 22px;
28
+ border-radius: @border-radius-base;
29
+ display: inline-block;
30
+ padding: 0;
31
+ vertical-align: middle;
32
+ text-align: center;
33
+ transition: border 0.15s ease-in-out, background-color 0.15s ease-in-out;
34
+
35
+ .np-theme-personal & {
36
+ border: none;
37
+ box-shadow: inset 0 0 0 1px var(--color-interactive-secondary);
38
+ }
39
+
40
+ .tw-checkbox-check {
41
+ width: 20px;
42
+ height: 20px;
43
+ margin: 0;
44
+ display: none;
45
+ color: var(--color-background-screen);
46
+ }
47
+
48
+ &:not(.disabled, :disabled):hover,
49
+ input[type="checkbox"]:hover + &,
50
+ .checkbox:hover & {
51
+ border-color: var(--color-interactive-secondary-hover);
52
+
53
+ .np-theme-personal & {
54
+ box-shadow: inset 0 0 0 1px var(--color-interactive-secondary-hover);
55
+ }
56
+ }
57
+
58
+ &:not(.disabled, :disabled):focus,
59
+ &:not(.disabled, :disabled).focus,
60
+ &:not(.disabled, :disabled):focus:hover,
61
+ &:not(.disabled, :disabled).focus:hover,
62
+ input[type="checkbox"]:focus + &,
63
+ &:not(.disabled, :disabled):active,
64
+ &:not(.disabled, :disabled).active,
65
+ input[type="checkbox"]:active + & {
66
+ border-color: var(--color-interactive-secondary);
67
+ outline: none;
68
+ }
69
+
70
+ &:checked,
71
+ &.checked,
72
+ input[type="checkbox"]:checked + & {
73
+ border-color: var(--color-interactive-accent) !important;
74
+ background-color: var(--color-interactive-accent);
75
+
76
+ .tw-checkbox-check {
77
+ display: inline-block;
78
+ }
79
+
80
+ .np-theme-personal & {
81
+ background-color: var(--color-interactive-primary);
82
+ box-shadow: inset 0 0 0 1px var(--color-interactive-primary);
83
+ }
84
+ }
85
+
86
+ &:checked:hover,
87
+ &.checked:hover,
88
+ input[type="checkbox"]:not(.disabled, :disabled):checked:hover + & {
89
+ border-color: var(--color-interactive-accent-hover) !important;
90
+ background-color: var(--color-interactive-accent-hover);
91
+
92
+ .np-theme-personal & {
93
+ border-color: var(--color-interactive-primary-hover) !important;
94
+ background-color: var(--color-interactive-primary-hover);
95
+ box-shadow: inset 0 0 0 1px var(--color-interactive-primary-hover);
96
+ }
97
+ }
98
+
99
+ &:checked:active,
100
+ &.checked:active,
101
+ input[type="checkbox"]:not(.disabled, :disabled):checked:active + & {
102
+ border-color: var(--color-interactive-accent-active) !important;
103
+ background-color: var(--color-interactive-accent-active);
104
+
105
+ .np-theme-personal & {
106
+ border-color: var(--color-interactive-primary-active) !important;
107
+ background-color: var(--color-interactive-primary-active);
108
+ box-shadow: inset 0 0 0 1px var(--color-interactive-primary-active);
109
+ }
110
+ }
111
+
112
+ .checkbox.has-error &,
113
+ &.has-error {
114
+ border-color: var(--color-interactive-negative) !important;
115
+
116
+ &:checked,
117
+ &.checked {
118
+ background-color: var(--color-interactive-negative);
119
+ }
120
+ }
121
+
122
+ .checkbox.has-error input[type="checkbox"]:not(.disabled, :disabled):checked + & {
123
+ border-color: var(--color-interactive-negative) !important;
124
+ background-color: var(--color-interactive-negative);
125
+ }
126
+
127
+ .checkbox.has-error input[type="checkbox"]:not(.disabled, :disabled):checked:hover + & {
128
+ border-color: var(--color-interactive-negative-hover) !important;
129
+ background-color: var(--color-interactive-negative-hover);
130
+ }
131
+
132
+ .checkbox.has-error input[type="checkbox"]:not(.disabled, :disabled):checked:active + & {
133
+ border-color: var(--color-interactive-negative-active) !important;
134
+ background-color: var(--color-interactive-negative-active);
135
+ }
136
+ }
137
+
138
+ .tw-radio-button {
139
+ width: 24px;
140
+ height: 24px;
141
+ border-radius: 50%;
142
+ border: 1px solid var(--color-interactive-secondary);
143
+ background: var(--color-background-screen);
144
+ display: inline-flex;
145
+ align-items: center;
146
+ justify-content: center;
147
+ padding: 0;
148
+ transition: border 0.15s ease-in-out;
149
+
150
+ .np-theme-personal & {
151
+ border: none;
152
+ box-shadow: inset 0 0 0 1px var(--color-interactive-secondary);
153
+ position: relative;
154
+ top: 0;
155
+ left: 0;
156
+ }
157
+
158
+ .tw-radio-check {
159
+ border-radius: 50%;
160
+ text-align: center;
161
+ width: 12px;
162
+ height: 12px;
163
+ display: block;
164
+ opacity: 0;
165
+ transition: all 0.15s ease-in-out;
166
+ }
167
+
168
+ .radio:not(.disabled, :disabled):hover &,
169
+ &:not(.disabled, :disabled):hover {
170
+ border-color: var(--color-interactive-secondary-hover);
171
+
172
+ .np-theme-personal & {
173
+ border-color: transparent;
174
+ box-shadow: inset 0 0 0 1px var(--color-interactive-secondary-hover);
175
+
176
+ &:checked,
177
+ &.checked {
178
+ box-shadow: inset 0 0 0 1px var(--color-interactive-primary);
179
+
180
+ .tw-radio-check {
181
+ background-color: var(--color-interactive-primary-hover);
182
+ }
183
+ }
184
+ }
185
+ }
186
+
187
+ &:not(.disabled, :disabled):focus,
188
+ &:not(.disabled, :disabled).focus,
189
+ &:not(.disabled, :disabled):active,
190
+ &:not(.disabled, :disabled).active {
191
+ border-color: var(--color-interactive-secondary-active);
192
+ outline: none;
193
+ }
194
+
195
+ &:checked,
196
+ &.checked {
197
+ border-color: var(--color-interactive-accent) !important;
198
+
199
+ .tw-radio-check {
200
+ opacity: 1;
201
+ background-color: var(--color-interactive-accent);
202
+ }
203
+
204
+ .np-theme-personal & {
205
+ border-color: transparent !important;
206
+ box-shadow: inset 0 0 0 1px var(--color-interactive-primary);
207
+
208
+ .tw-radio-check {
209
+ background-color: var(--color-interactive-primary);
210
+ max-height: 12px;
211
+ max-width: 12px;
212
+ }
213
+ }
214
+ }
215
+
216
+ .radio.has-error &,
217
+ &.has-error {
218
+ border-color: var(--color-interactive-negative) !important;
219
+
220
+ &:checked .tw-radio-check,
221
+ &.checked .tw-radio-check {
222
+ background-color: var(--color-interactive-negative);
223
+ }
224
+ }
225
+ }
226
+
227
+ .radio .tw-radio-button {
228
+ position: absolute;
229
+ .left(13px);
230
+
231
+ top: 11px;
232
+ }
233
+
234
+ .checkbox .tw-checkbox-button {
235
+ position: absolute;
236
+ .left(14px);
237
+
238
+ top: 12px;
239
+ }
240
+
241
+ .form-inline .tw-checkbox-button,
242
+ .form-inline .tw-radio-button {
243
+ vertical-align: bottom;
244
+ }
245
+
246
+ .form-horizontal {
247
+ .checkbox,
248
+ .radio {
249
+ padding-top: 0;
250
+
251
+ > label {
252
+ margin-bottom: 0;
253
+ }
254
+ }
255
+ }
256
+
257
+ // Neptune Checkbox and Radio components use flex for vertical centre alignment
258
+ .np-radio.radio,
259
+ .np-checkbox.checkbox {
260
+ min-width: fit-content;
261
+
262
+ .np-radio-button,
263
+ .np-checkbox-button {
264
+ position: relative;
265
+ flex-shrink: 0;
266
+ }
267
+
268
+ .tw-checkbox-button,
269
+ .tw-radio-button {
270
+ position: static;
271
+ }
272
+
273
+ > label {
274
+ display: flex;
275
+ align-items: center;
276
+ // Added rtl mixing even the horizontal values are equal, to increase specificity created in line 11
277
+ .padding-shorthand(var(--size-8) var(--size-16));
278
+
279
+ .np-checkbox__text,
280
+ .np-radio__text {
281
+ display: block;
282
+ padding-top: 1px; // `0` would look off due to checkbox misalignment
283
+
284
+ :not(.np-theme-personal) & {
285
+ font-weight: var(--font-weight-regular);
286
+ font-size: var(--font-size-16);
287
+ line-height: var(--line-height-20);
288
+ // Account for our funky font baseline
289
+ padding-top: 3px;
290
+ }
291
+ }
292
+
293
+ .np-theme-personal & {
294
+ padding: var(--input-padding);
295
+ }
296
+ }
297
+ }
298
+
299
+ .np-radio {
300
+ .np-radio__avatar {
301
+ pointer-events: none;
302
+ }
303
+ }
@@ -0,0 +1,187 @@
1
+ @import (reference) "../variables/legacy-variables.less";
2
+ @import (reference) "./mixins/_clearfix.less";
3
+ @import (reference) "./mixins/_grid.less";
4
+ @import (reference) "./mixins/_grid-framework.less";
5
+ @import (reference) "./mixins/_logical-properties.less";
6
+
7
+ // Set the container width, and override it for fixed navbars in media queries.
8
+ .container {
9
+ .container-fixed();
10
+ .clearfix ();
11
+
12
+ @media (min-width: @screen-xl-min) {
13
+ max-width: @container-xl;
14
+ }
15
+
16
+ padding-right: @spacing-1-mobile;
17
+ padding-left: @spacing-1-mobile;
18
+
19
+ @media (min-width: @screen-sm-min) {
20
+ padding-right: @spacing-1-tablet;
21
+ padding-left: @spacing-1-tablet;
22
+ }
23
+
24
+ @media (min-width: @screen-lg-min) {
25
+ padding-right: @spacing-1-desktop;
26
+ padding-left: @spacing-1-desktop;
27
+ }
28
+ }
29
+
30
+ // Utilizes the mixin meant for fixed width containers, but without any defined
31
+ // width for fluid, full width layouts.
32
+ .container-fluid {
33
+ .container-fixed();
34
+ }
35
+
36
+ // Rows contain and clear the floats of your columns.
37
+ .row {
38
+ .make-row();
39
+ .clearfix ();
40
+ }
41
+
42
+ // Common styles for small and large grid columns
43
+ .make-grid-columns();
44
+
45
+ // Columns, offsets, pushes, and pulls for extra small devices like smartphones.
46
+ .make-grid(xs);
47
+
48
+ // Columns, offsets, pushes, and pulls for the small device range, from phones to tablets.
49
+ @media (min-width: @screen-sm-min) {
50
+ .make-grid(sm);
51
+ }
52
+
53
+ // Columns, offsets, pushes, and pulls for the desktop device range.
54
+ @media (min-width: @screen-md-min) {
55
+ .make-grid(md);
56
+ }
57
+
58
+ // Columns, offsets, pushes, and pulls for the large desktop device range.
59
+ @media (min-width: @screen-lg-min) {
60
+ .make-grid(lg);
61
+ }
62
+
63
+ // Columns, offsets, pushes, and pulls for the large desktop device range.
64
+ @media (min-width: @screen-xl-min) {
65
+ .make-grid(xl);
66
+ }
67
+
68
+ @media (max-width: @screen-xs-max) {
69
+ .container {
70
+ padding-right: @spacing-1-mobile;
71
+ padding-left: @spacing-1-mobile;
72
+ }
73
+ }
74
+
75
+ @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
76
+ .container {
77
+ padding-right: @spacing-1-tablet;
78
+ padding-left: @spacing-1-tablet;
79
+ }
80
+ }
81
+
82
+ [class*="col-sm"],
83
+ [class*="col-md"],
84
+ [class*="col-lg"],
85
+ [class*="col-xl"] {
86
+ margin-bottom: (@spacer-y * 2);
87
+ }
88
+
89
+ [class*="col-xs"] {
90
+ margin-bottom: 0;
91
+ }
92
+
93
+ @media (min-width: @screen-sm-min) {
94
+ [class*="col-sm"] {
95
+ margin-bottom: 0;
96
+ }
97
+ }
98
+
99
+ @media (min-width: @screen-md-min) {
100
+ [class*="col-md"] {
101
+ margin-bottom: 0;
102
+ }
103
+ }
104
+
105
+ @media (min-width: @screen-lg-min) {
106
+ [class*="col-lg"] {
107
+ margin-bottom: 0;
108
+ }
109
+ }
110
+
111
+ @media (min-width: @screen-xl-min) {
112
+ [class*="col-xl"] {
113
+ margin-bottom: 0;
114
+ }
115
+ }
116
+
117
+ .row-equal-height {
118
+ display: flex;
119
+ flex-wrap: wrap;
120
+
121
+ > [class*="col-"] {
122
+ display: flex;
123
+ }
124
+
125
+ @media (max-width: @screen-xs-max) {
126
+ .col-xs-12 {
127
+ margin-bottom: 12px;
128
+ }
129
+ }
130
+ }
131
+
132
+ // Make grid gutters smaller on mobile
133
+ @media (max-width: @screen-xs-max) {
134
+ .row {
135
+ margin-right: -8px;
136
+ margin-left: -8px;
137
+ }
138
+
139
+ [class*="col-"] {
140
+ padding-right: 8px;
141
+ padding-left: 8px;
142
+ }
143
+ }
144
+
145
+ .make-grid-columns-wide(@gutter: @grid-gutter-width) {
146
+ margin-right: -@gutter / 2;
147
+ margin-left: -@gutter / 2;
148
+
149
+ [class*="col-"] {
150
+ padding-right: @gutter / 2;
151
+ padding-left: @gutter / 2;
152
+ }
153
+ }
154
+
155
+ .row--wide {
156
+ .make-grid-columns-wide();
157
+
158
+ @media all and (min-width: @screen-sm) {
159
+ .make-grid-columns-wide(@grid-gutter-width * 2);
160
+ }
161
+
162
+ @media all and (min-width: @screen-lg) {
163
+ .make-grid-columns-wide(@grid-gutter-width * 4);
164
+ }
165
+ }
166
+
167
+ .container--fullscreen {
168
+ @media (min-width: @screen-xl-min) {
169
+ max-width: 100%;
170
+ }
171
+ }
172
+
173
+ .container--text {
174
+ max-width: 700px;
175
+ margin-right: auto;
176
+ margin-left: auto;
177
+ }
178
+
179
+ .container--wide {
180
+ max-width: 1500px;
181
+ margin-right: auto;
182
+ margin-left: auto;
183
+
184
+ @media (min-width: @screen-xl-min) {
185
+ max-width: 1500px;
186
+ }
187
+ }