mp-design-system 0.9.8 → 0.9.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. package/dist/build/scss/library.css +1 -1
  2. package/dist/build/scss/library.css.map +1 -1
  3. package/dist/build/scss/main.css +1 -1
  4. package/dist/build/scss/main.css.map +1 -1
  5. package/package.json +1 -1
  6. package/src/_includes/components/accordion/macro.njk +1 -1
  7. package/src/_includes/components/features-table/features-table.config.js +137 -0
  8. package/src/_includes/components/features-table/features-table.njk +364 -0
  9. package/src/_includes/components/features-table/features-table.scss +96 -0
  10. package/src/_includes/components/features-table/macro.njk +5 -0
  11. package/src/_includes/components/footer/footer.scss +2 -2
  12. package/src/_includes/components/gallery/gallery.config.js +29 -0
  13. package/src/_includes/components/gallery/gallery.md +0 -0
  14. package/src/_includes/components/gallery/gallery.njk +52 -0
  15. package/src/{assets/scss/components → _includes/components/gallery}/gallery.scss +0 -0
  16. package/src/_includes/components/gallery/macro.njk +5 -0
  17. package/src/_includes/components/header/header.scss +15 -1
  18. package/src/_includes/components/table/table.scss +13 -0
  19. package/src/_includes/library-navigation/brand-nav.njk +2 -1
  20. package/src/_includes/navigation/corporate.njk +5 -2
  21. package/src/assets/scss/components/index.scss +24 -23
  22. package/src/assets/scss/components/lightbox.scss +1 -0
  23. package/src/assets/scss/library.scss +15 -2
  24. package/src/assets/scss/objects/grid.scss +46 -91
  25. package/src/assets/scss/objects/prose.scss +2 -1
  26. package/src/assets/scss/utilities/space.scss +12 -0
  27. package/src/assets/scss/utilities/typography.scss +4 -0
  28. package/src/brand/colors.njk +15 -6
  29. package/src/brand/illustration.md +44 -0
  30. package/src/brand/images.md +1 -1
  31. package/src/components/grid/generic.njk +31 -0
  32. package/src/components/grid/index.njk +21 -2
  33. package/src/components/grid/layout.njk +5 -5
  34. package/src/prototype/sections.njk +290 -0
@@ -0,0 +1,52 @@
1
+ {% from "components/embed/macro.njk" import youtube %}
2
+
3
+ {% set count = 1 %}
4
+
5
+ <div class="u-flow c-gallery">
6
+ <div class="c-gallery__main">
7
+ {% if params.images | length %}
8
+ {% for image in params.images %}
9
+ {% set active = (count == 1) %}
10
+ <figure class="c-gallery__slide {{"active" if active}}" data-slide="{{count}}">
11
+ <img src="{{image.src}}" alt="{{image.title}}" >
12
+ </figure>
13
+ {% set count = count+1 %}
14
+ {% endfor %}
15
+ {% endif %}
16
+ {% if params.videos | length %}
17
+ {% for video in params.videos %}
18
+ <div class="c-gallery__slide c-gallery__video" data-slide="{{count}}">
19
+ {{ youtube({
20
+ title: video.title,
21
+ id: video.id
22
+ }) }}
23
+ </div>
24
+ {% set count = count+1 %}
25
+ {% endfor %}
26
+ {% endif %}
27
+ </div>
28
+
29
+ {% set count = 1 %}
30
+
31
+ <div class="c-gallery__thumbnails">
32
+ {% if params.images | length %}
33
+ {% for image in params.images %}
34
+ {% set active = (count == 1) %}
35
+ <figure class="c-gallery__slide {{"active" if active}}" data-slide="{{count}}">
36
+ <img src="{{image.src}}" alt="{{image.title}}" loading="lazy" width="102">
37
+ </figure>
38
+ {% set count = count+1 %}
39
+ {% endfor %}
40
+ {% endif %}
41
+ {% if params.videos | length %}
42
+ {% for video in params.videos %}
43
+ {% set active = (count == 1) %}
44
+ <figure class="c-gallery__slide {{"active" if active}}" data-slide="{{count}}">
45
+ <img src="https://img.youtube.com/vi/{{video.id}}/default.jpg" alt="{{video.title}}" loading="lazy" width="102">
46
+ </figure>
47
+ {% set count = count+1 %}
48
+ {% endfor %}
49
+ {% endif %}
50
+ </div>
51
+ </div>
52
+ </div>
@@ -0,0 +1,5 @@
1
+ {% from "components/component/component.njk" import c %}
2
+
3
+ {% macro gallery(params) %}
4
+ {{ c({ name: 'gallery' }, params) }}
5
+ {% endmacro %}
@@ -183,7 +183,12 @@
183
183
  width: 100%;
184
184
 
185
185
  &:after {
186
- background: linear-gradient(270deg, color('green') -12.4%, color('blue') 11.22%, color('petrol') 43.74%, color('petrol') 70%, color('petrol', 'step--1') 100%);
186
+ background: linear-gradient(270deg,
187
+ color('green') -12%,
188
+ color('blue') 11%,
189
+ color('petrol') 43%,
190
+ color('petrol') 70%,
191
+ color('petrol', 'step--1') 100%);
187
192
  content: '';
188
193
  position: absolute;
189
194
  width: 100vw;
@@ -192,6 +197,15 @@
192
197
  top: 0;
193
198
  transform: translateX(-50%);
194
199
  z-index: -2;
200
+
201
+ // Hack for IE11
202
+ @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
203
+ background: linear-gradient(270deg,
204
+ color('green') -12%,
205
+ color('blue') 11%,
206
+ color('petrol') 43%,
207
+ color('petrol', 'step--1') 100%);
208
+ }
195
209
  }
196
210
 
197
211
  ul {
@@ -83,6 +83,19 @@
83
83
  }
84
84
  }
85
85
 
86
+ &--features {
87
+ thead th,
88
+ tbody td,
89
+ tfoot td {
90
+ background: transparent;
91
+ }
92
+
93
+ thead th {
94
+ color: inherit;
95
+ font-weight: weight();
96
+ }
97
+ }
98
+
86
99
  @media (min-width: 30em) {
87
100
  .c-icon {
88
101
  font-size: 1.5rem;
@@ -10,7 +10,8 @@
10
10
  {{ libraryList('Logo', '/brand/logo/', page.url) }}
11
11
  {{ libraryList('Colors', '/brand/colors/', page.url) }}
12
12
  {{ libraryList('Typography', '/brand/typography/', page.url) }}
13
- {{ libraryList('Images', '/brand/images/', page.url) }}
13
+ {{ libraryList('Photography', '/brand/images/', page.url) }}
14
+ {{ libraryList('Illustration', '/brand/illustration/', page.url) }}
14
15
  </ul>
15
16
  {# <h3>Brand identity</h3>
16
17
  <ul>
@@ -4,10 +4,10 @@
4
4
  <a href="/prototype/products">Products</a>
5
5
  </li>
6
6
  <li>
7
- <a href="/prototype/products">Industries</a>
7
+ <a href="/prototype/sections">Solutions</a>
8
8
  </li>
9
9
  <li>
10
- <a href="">Services and support</a>
10
+ <a href="">CRO services</a>
11
11
  </li>
12
12
  <li>
13
13
  <a href="/prototype/webinars">Webinars and events</a>
@@ -15,6 +15,9 @@
15
15
  <li>
16
16
  <a href="">Resources</a>
17
17
  </li>
18
+ <li>
19
+ <a href="">Support & downloads</a>
20
+ </li>
18
21
  <li class="c-header__push">
19
22
  <a href="">Log in</a>
20
23
  </li>
@@ -1,34 +1,35 @@
1
+ @import '~comp/accordion/accordion.scss';
2
+ @import '~comp/alert/alert.scss';
1
3
  @import '~comp/button/button.scss';
2
- @import '~comp/icon/icon.scss';
3
- @import '~comp/twi/twi.scss';
4
- @import '~comp/table/table.scss';
5
- @import '~comp/post-meta/post-meta.scss';
6
- @import '~comp/header/header.scss';
7
- @import '~comp/footer/footer.scss';
8
- @import '~comp/input/input.scss';
9
- @import '~comp/product-signpost/product-signpost.scss';
10
- @import '~comp/usp/usp.scss';
11
4
  @import '~comp/campaign/campaign.scss';
12
- @import '~comp/signpost/signpost.scss';
13
- @import '~comp/industry-card/industry-card.scss';
14
- @import '~comp/alert/alert.scss';
5
+ @import '~comp/card/card.scss';
6
+ @import '~comp/comparison-table/comparison-table.scss';
7
+ @import '~comp/embed/embed.scss';
15
8
  @import '~comp/featured-article-card/featured-article-card.scss';
16
- @import '~comp/internal-nav/internal-nav.scss';
17
- @import '~comp/input/radio.scss';
9
+ @import '~comp/features-table/features-table.scss';
18
10
  @import '~comp/filter-search/filter-search.scss';
19
- @import '~comp/embed/embed.scss';
20
- @import '~comp/tabs/tabs.scss';
11
+ @import '~comp/footer/footer.scss';
12
+ @import '~comp/gallery/gallery.scss';
13
+ @import '~comp/header/header.scss';
14
+ @import '~comp/hero/hero.scss';
15
+ @import '~comp/icon/icon.scss';
16
+ @import '~comp/industry-card/industry-card.scss';
17
+ @import '~comp/input/input.scss';
18
+ @import '~comp/input/radio.scss';
19
+ @import '~comp/internal-nav/internal-nav.scss';
20
+ @import '~comp/meta-box/meta-box.scss';
21
21
  @import '~comp/option-list/option-list.scss';
22
- @import '~comp/card/card.scss';
22
+ @import '~comp/post-meta/post-meta.scss';
23
+ @import '~comp/product-signpost/product-signpost.scss';
24
+ @import '~comp/quote/quote.scss';
23
25
  @import '~comp/scroll-spy/scroll-spy.scss';
24
26
  @import '~comp/series/series.scss';
25
- @import '~comp/comparison-table/comparison-table.scss';
26
- @import '~comp/meta-box/meta-box.scss';
27
+ @import '~comp/signpost/signpost.scss';
27
28
  @import '~comp/slat/slat.scss';
28
- @import '~comp/hero/hero.scss';
29
- @import '~comp/quote/quote.scss';
30
- @import '~comp/accordion/accordion.scss';
29
+ @import '~comp/table/table.scss';
30
+ @import '~comp/tabs/tabs.scss';
31
+ @import '~comp/twi/twi.scss';
32
+ @import '~comp/usp/usp.scss';
31
33
 
32
34
  @import './headings.scss';
33
- @import './gallery.scss';
34
35
  @import './lightbox.scss';
@@ -22,6 +22,7 @@
22
22
  max-height: 90vh;
23
23
  margin: auto;
24
24
  display: block;
25
+ object-fit: contain;
25
26
  }
26
27
  }
27
28
  }
@@ -321,10 +321,13 @@
321
321
  }
322
322
 
323
323
  &__swatch-grid--has-labels {
324
- grid-template-columns: 15em auto;
325
- grid-template-rows: auto;
326
324
  grid-auto-flow: row;
327
325
 
326
+ @media only screen and (min-width: 40em) {
327
+ grid-template-columns: minmax(15%, 15em) auto;
328
+ grid-template-rows: auto;
329
+ }
330
+
328
331
  @media only screen and (min-width:1000px) {
329
332
  grid-auto-flow: column;
330
333
  grid-template-columns: repeat(5, 1fr);
@@ -571,6 +574,16 @@
571
574
 
572
575
  }
573
576
 
577
+ &__illustration-grid {
578
+ display:grid;
579
+ grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
580
+ gap:var(--gutter);
581
+
582
+ & :nth-child(odd):nth-last-child(3) {
583
+ grid-column: 1/-1;
584
+ }
585
+ }
586
+
574
587
  .c-alert ul li {
575
588
  list-style: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="20" viewBox="0 0 10 20"><circle cx="5" cy="14" r="3.5" fill="%2313AA13" fill-rule="evenodd"/></svg>') outside;
576
589
  margin-left: 1em;
@@ -22,6 +22,23 @@ $grid-gutter-width: 36;
22
22
  @return (($count * $grid-column-width) + (($count - 1) * $grid-gutter-width)) * 1px;
23
23
  }
24
24
 
25
+ @mixin o-grid($columns) {
26
+ $width: math.div(100%, $columns);
27
+
28
+ & > * {
29
+ width: calc(($width - (($columns - 1) * #{space-unit()} / $columns)) - 0.1px);
30
+ width: calc(($width - (($columns - 1) * var(--gutter) / $columns)) - 0.1px);
31
+
32
+ & + * {
33
+ @include margin-left("gutter");
34
+ }
35
+
36
+ &:nth-child(#{$columns}n + 1) {
37
+ margin-left: 0;
38
+ }
39
+ }
40
+ }
41
+
25
42
  .o-grid {
26
43
  display: flex;
27
44
  flex-wrap: wrap;
@@ -51,131 +68,69 @@ $grid-gutter-width: 36;
51
68
 
52
69
  &--of-two {
53
70
  @media (min-width: 40em) {
54
- & > * {
55
- width: calc((50% - (1 * #{space-unit()} / 2)) - 0.1px);
56
- width: calc((50% - (1 * var(--gutter) / 2)) - 0.1px);
57
-
58
- & + * {
59
- @include margin-left("gutter");
60
- }
61
-
62
- &:nth-child(2n + 1) {
63
- margin-left: 0;
64
- }
65
- }
71
+ @include o-grid(2)
66
72
  }
67
73
  }
68
74
 
69
75
  &--of-two-late {
70
76
  @media (min-width: 55em) {
71
- & > * {
72
- width: calc((50% - (1 * #{space-unit()} / 2)) - 0.1px);
73
- width: calc((50% - (1 * var(--gutter) / 2)) - 0.1px);
74
-
75
- & + * {
76
- @include margin-left("gutter");
77
- }
77
+ @include o-grid(2)
78
+ }
79
+ }
78
80
 
79
- &:nth-child(2n + 1) {
80
- margin-left: 0;
81
- }
82
- }
81
+ &--of-two-early {
82
+ @media (min-width: 22.4em) {
83
+ @include o-grid(2)
83
84
  }
84
85
  }
85
86
 
86
87
  &--of-three {
87
88
  @media (min-width: 38em) and (max-width: 54.9375em) { // 608 - 1087
88
- & > * {
89
- width: calc((50% - (1 * #{space-unit()} / 2)) - 0.1px);
90
- width: calc((50% - (1 * var(--gutter) / 2)) - 0.1px);
91
-
92
- & + * {
93
- @include margin-left("gutter");
94
- }
95
-
96
- &:nth-child(2n + 1) {
97
- margin-left: 0;
98
- }
99
- }
89
+ @include o-grid(2)
100
90
  }
101
91
 
102
92
  @media (min-width: 55em) {
103
- & > * {
104
- width: calc((33.333% - (2 * #{space-unit()} / 3)) - 0.1px);
105
- width: calc((33.333% - (2 * var(--gutter) / 3)) - 0.1px);
106
-
107
- & + * {
108
- @include margin-left("gutter");
109
- }
110
-
111
- &:nth-child(3n + 1) {
112
- margin-left: 0;
113
- }
114
- }
93
+ @include o-grid(3)
115
94
  }
116
95
  }
117
96
 
118
97
  &--of-three-late {
119
98
  @media (min-width: 38em) and (max-width: 67.9375em) {
120
- & > * {
121
- width: calc((50% - (1 * #{space-unit()} / 2)) - 0.1px);
122
- width: calc((50% - (1 * var(--gutter) / 2)) - 0.1px);
123
-
124
- & + * {
125
- @include margin-left("gutter");
126
- }
127
-
128
- &:nth-child(2n + 1) {
129
- margin-left: 0;
130
- }
131
- }
99
+ @include o-grid(2)
132
100
  }
133
101
 
134
102
  @media (min-width: 68em) {
135
- & > * {
136
- width: calc((33.333% - (2 * #{space-unit()} / 3)) - 0.1px);
137
- width: calc((33.333% - (2 * var(--gutter) / 3)) - 0.1px);
103
+ @include o-grid(3)
104
+ }
105
+ }
138
106
 
139
- & + * {
140
- @include margin-left("gutter");
141
- }
107
+ &--of-three-early {
108
+ @media (min-width: 22.4em) and (max-width: 54.9375em) {
109
+ @include o-grid(2)
110
+ }
142
111
 
143
- &:nth-child(3n + 1) {
144
- margin-left: 0;
145
- }
146
- }
112
+ @media (min-width: 55em) {
113
+ @include o-grid(3)
147
114
  }
148
115
  }
149
116
 
150
117
  &--of-four {
151
118
  @media (min-width: 38em) and (max-width: 59.9375em) {
152
- & > * {
153
- width: calc((50% - (1 * #{space-unit()} / 2)) - 0.1px);
154
- width: calc((50% - (1 * var(--gutter) / 2)) - 0.1px);
155
-
156
- & + * {
157
- @include margin-left("gutter");
158
- }
159
-
160
- &:nth-child(2n + 1) {
161
- margin-left: 0;
162
- }
163
- }
119
+ @include o-grid(2)
164
120
  }
165
121
 
166
122
  @media (min-width: 60em) {
167
- & > * {
168
- width: calc((25% - (3 * #{space-unit()} / 4)) - 0.1px);
169
- width: calc((25% - (3 * var(--gutter) / 4)) - 0.1px);
123
+ @include o-grid(4)
124
+ }
125
+ }
170
126
 
171
- & + * {
172
- @include margin-left("gutter");
173
- }
127
+ &--of-four-early {
128
+ @media (min-width: 22.4em) and (max-width: 59.9375em) {
129
+ @include o-grid(2)
130
+ }
174
131
 
175
- &:nth-child(4n + 1) {
176
- margin-left: 0;
177
- }
178
- }
132
+ @media (min-width: 60em) {
133
+ @include o-grid(4)
179
134
  }
180
135
  }
181
136
 
@@ -20,7 +20,8 @@
20
20
  }
21
21
 
22
22
  p a:not(.c-button),
23
- li a:not(.c-button) {
23
+ li a:not(.c-button),
24
+ td a:not(.c-button) {
24
25
  color: color('utility-blue');
25
26
  text-decoration: underline;
26
27
  text-underline-offset: 3px;
@@ -307,6 +307,18 @@
307
307
  @include margin-bottom('xl');
308
308
  }
309
309
 
310
+ .u-margin-x-3xs {
311
+ @include margin-left('3xs');
312
+ @include margin-right('3xs');
313
+ }
314
+ .u-margin-x-2xs {
315
+ @include margin-left('2xs');
316
+ @include margin-right('2xs');
317
+ }
318
+ .u-margin-x-xs {
319
+ @include margin-left('xs');
320
+ @include margin-right('xs');
321
+ }
310
322
  .u-margin-x-s {
311
323
  @include margin-left('s');
312
324
  @include margin-right('s');
@@ -29,3 +29,7 @@
29
29
  .u-text-center {
30
30
  text-align: center;
31
31
  }
32
+
33
+ .u-remove-bullets {
34
+ list-style-type: none;
35
+ }
@@ -35,12 +35,14 @@ Step 0 is the 'default' shade for each color."
35
35
  {
36
36
  name: "-1",
37
37
  hex: '003039',
38
- cmyk: '93.65.57.57'
38
+ cmyk: '93.65.57.57',
39
+ pantone: 'PAN 547'
39
40
  },
40
41
  {
41
42
  name: 0,
42
43
  hex: '005461',
43
- cmyk: '93.54.49.27'
44
+ cmyk: '93.54.49.27',
45
+ pantone: 'PAN 3165'
44
46
  },
45
47
  {
46
48
  name: 1,
@@ -71,7 +73,8 @@ Step 0 is the 'default' shade for each color."
71
73
  {
72
74
  name: 0,
73
75
  hex: '00a2c2',
74
- cmyk: '77.17.17.00'
76
+ cmyk: '77.17.17.00',
77
+ pantone: 'PAN 312'
75
78
  },
76
79
  {
77
80
  name: 1,
@@ -102,7 +105,8 @@ Step 0 is the 'default' shade for each color."
102
105
  {
103
106
  name: 0,
104
107
  hex: '13aa13',
105
- cmyk: '81.04.100.01'
108
+ cmyk: '81.04.100.01',
109
+ pantone: 'PAN 354'
106
110
  },
107
111
  {
108
112
  name: 1,
@@ -128,7 +132,8 @@ Step 0 is the 'default' shade for each color."
128
132
  {
129
133
  name: 0,
130
134
  hex: 'ce0058',
131
- cmyk: '14.100.50.2'
135
+ cmyk: '14.100.50.2',
136
+ pantone: 'PAN Rubine Red'
132
137
  }
133
138
  ]
134
139
  },
@@ -145,7 +150,8 @@ Step 0 is the 'default' shade for each color."
145
150
  {
146
151
  name: 0,
147
152
  hex: '333333',
148
- cmyk: '00.00.00.91'
153
+ cmyk: '00.00.00.91',
154
+ pantone: 'PAN 447'
149
155
  },
150
156
  {
151
157
  name: 1,
@@ -228,6 +234,9 @@ Step 0 is the 'default' shade for each color."
228
234
  <tbody>
229
235
  <tr><td>Hex</td><td>#{{step.hex | upper}}</td></tr>
230
236
  <tr><td>CMYK</td><td>{{step.cmyk}}</td></tr>
237
+ <tr class="{{ "u-petrol-step-3" if not step.pantone }}">
238
+ <td>Pantone</td><td>{{step.pantone if step.pantone}}</td>
239
+ </tr>
231
240
  </tbody>
232
241
  </table>
233
242
  {% endfor %}
@@ -0,0 +1,44 @@
1
+ ---
2
+ title: Illustration
3
+ layout: content-page
4
+ sidebar: brand
5
+ tags: brand
6
+ version: 1.0.0
7
+ status: 'Ready'
8
+ ---
9
+ Photography covers most of our needs for visual imagery, but there are times when photography isn't a good fit. For example when dealing with more abstract transactional concepts like "log in" or "verify your account". In these cases, we use illustration to add some vibrance to our designs.
10
+
11
+ ## Guidelines
12
+ Our illustration style is still a work-in-progress; currently it follows a few simple guidelines.
13
+
14
+ - Vector
15
+ - Isometric perspective
16
+ - Simple details
17
+ - Small characters (usually) around a large object
18
+ - Limited color palette
19
+ - White background
20
+
21
+ ## Resources
22
+ We have a library of pre-made characters which can be adapted for new designs, and an Adobe Illustrator color palette. Contact Will Wallace for access to both of these; I'll aim to make the available on this site in future.
23
+
24
+ ## Examples
25
+
26
+ <div class="c-library__illustration-grid">
27
+
28
+ ![alt text][login]
29
+
30
+ ![alt text][thankyou]
31
+
32
+ ![alt text][confirm]
33
+
34
+ ![alt text][support]
35
+
36
+ ![alt text][opt-in]
37
+
38
+ </div>
39
+
40
+ [login]: https://www.malvernpanalytical.com/resource/svg/login3.svg
41
+ [thankyou]: https://p3.aprimocdn.net/malvernpanalytical/0cd71419-bc75-4b43-8c4d-af69010bf927/thankyou_Original%20file.svg
42
+ [support]: https://p3.aprimocdn.net/malvernpanalytical/aef489f7-a3cc-4a0c-ad6c-af3300baaa3b/support3_Original%20file.svg
43
+ [opt-in]: https://p3.aprimocdn.net/malvernpanalytical/383c6156-cefd-4d8e-a913-af6d00cebf8a/opt-in%20success%20v02_Original%20file.svg
44
+ [confirm]: https://p3.aprimocdn.net/malvernpanalytical/68ccc179-959e-4b2e-b1c1-af7100be26af/get-started_Original%20file.svg
@@ -4,7 +4,7 @@ layout: system-page
4
4
  sidebar: brand
5
5
  tags: brand
6
6
  version: 1.0.0
7
- status: 'In production'
7
+ status: 'Ready'
8
8
  ---
9
9
 
10
10
  <div class="mp o-prose u-flow--prose">
@@ -6,8 +6,10 @@ crumb: ["/components/grid/", "Grid"]
6
6
  ---
7
7
 
8
8
  <div class="u-flow--l">
9
+ <p>All <code>o-grid</code>s are single-column, full width, below 22.4em/358px. Three- and four-column grids begin to split into columns above 38em/608px, and two-column grids split into columns above 40em/640px.</p>
9
10
  <div class="u-flow--xs">
10
11
  <p class="u-step--1"><code>.o-grid .o-grid--of-two</code></p>
12
+ <p class="u-step--1 u-grey-step-1">Two columns above 40em/640px</p>
11
13
  <div class="o-grid o-grid--of-two">
12
14
  <div>
13
15
  <div class="c-library-grid"></div>
@@ -18,8 +20,35 @@ crumb: ["/components/grid/", "Grid"]
18
20
  </div>
19
21
  </div>
20
22
 
23
+ <div class="u-flow--xs">
24
+ <p class="u-step--1"><code>.o-grid .o-grid--of-two-late</code></p>
25
+ <p class="u-step--1 u-grey-step-1">Two columns above 55em/880px</p>
26
+ <div class="o-grid o-grid--of-two-late">
27
+ <div>
28
+ <div class="c-library-grid"></div>
29
+ </div>
30
+ <div>
31
+ <div class="c-library-grid"></div>
32
+ </div>
33
+ </div>
34
+ </div>
35
+
36
+ <div class="u-flow--xs">
37
+ <p class="u-step--1"><code>.o-grid .o-grid--of-two-early</code></p>
38
+ <p class="u-step--1 u-grey-step-1">Two columns above 22.4em/358px</p>
39
+ <div class="o-grid o-grid--of-two-early">
40
+ <div>
41
+ <div class="c-library-grid"></div>
42
+ </div>
43
+ <div>
44
+ <div class="c-library-grid"></div>
45
+ </div>
46
+ </div>
47
+ </div>
48
+
21
49
  <div class="u-flow--xs">
22
50
  <p class="u-step--1"><code>.o-grid .o-grid--of-three</code></p>
51
+ <p class="u-step--1 u-grey-step-1">Two columns above 38em/608px, then three columns above 55em/880px</p>
23
52
  <div class="o-grid o-grid--of-three">
24
53
  <div>
25
54
  <div class="c-library-grid"></div>
@@ -35,6 +64,7 @@ crumb: ["/components/grid/", "Grid"]
35
64
 
36
65
  <div class="u-flow--xs">
37
66
  <p class="u-step--1"><code>.o-grid .o-grid--of-three-late</code></p>
67
+ <p class="u-step--1 u-grey-step-1">Two columns above 38em/608px, then three columns above 68em/1088px</p>
38
68
  <div class="o-grid o-grid--of-three-late">
39
69
  <div>
40
70
  <div class="c-library-grid"></div>
@@ -50,6 +80,7 @@ crumb: ["/components/grid/", "Grid"]
50
80
 
51
81
  <div class="u-flow--xs">
52
82
  <p class="u-step--1"><code>.o-grid .o-grid--of-four</code></p>
83
+ <p class="u-step--1 u-grey-step-1">Two columns above 38em/608px, then three columns above 60em/960px</p>
53
84
  <div class="o-grid o-grid--of-four">
54
85
  <div>
55
86
  <div class="c-library-grid"></div>