+
+ Nutrition Label
+
+
+
+
+
+--fcc-editable-region--
+```
+
+```css
+
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-002.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-002.md
new file mode 100644
index 00000000000..11b8188cc98
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-002.md
@@ -0,0 +1,60 @@
+---
+id: 615f2d4150fe0d4cbd0f2628
+title: Step 2
+challengeType: 0
+dashedName: step-2
+---
+
+# --description--
+
+Below your `h1` element, add a `p` element with the text `8 servings per container`.
+
+# --hints--
+
+You should add a new `p` element.
+
+```js
+assert.exists(document.querySelector('p'));
+```
+
+Your `p` element should be within your `body` element.
+
+```js
+assert(document.querySelector('p')?.parentElement?.localName === 'body');
+```
+
+Your `p` element should come after your `h1` element.
+
+```js
+assert(document.querySelector('p')?.previousElementSibling?.localName === 'h1');
+```
+
+Your `p` element should have the text `8 servings per container`.
+
+```js
+assert(document.querySelector('p')?.innerText === '8 servings per container');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+--fcc-editable-region--
+
+
+
+
+ Nutrition Label
+
+
+
Nutrition Facts
+
+
+
+--fcc-editable-region--
+```
+
+```css
+
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-003.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-003.md
new file mode 100644
index 00000000000..94213e09246
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-003.md
@@ -0,0 +1,61 @@
+---
+id: 615f34948891834dd77655a6
+title: Step 3
+challengeType: 0
+dashedName: step-3
+---
+
+# --description--
+
+Add a second `p` element with the text `Serving size 2/3 cup (55g)`.
+
+# --hints--
+
+You should have a second `p` element.
+
+```js
+assert(document.querySelectorAll('p')?.length === 2);
+```
+
+Your second `p` element should be within your `body` element.
+
+```js
+assert(document.querySelectorAll('p')?.[1]?.parentElement?.localName === 'body');
+```
+
+Your second `p` element should come after your existing `p` element.
+
+```js
+assert(document.querySelectorAll('p')?.[1]?.previousElementSibling?.localName === 'p');
+```
+
+Your second `p` element should have the text `Serving size 2/3 cup (55g)`.
+
+```js
+assert(document.querySelectorAll('p')?.[1]?.innerText === 'Serving size 2/3 cup (55g)');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+--fcc-editable-region--
+
+
+
+
+ Nutrition Label
+
+
+
Nutrition Facts
+
8 servings per container
+
+
+
+--fcc-editable-region--
+```
+
+```css
+
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-004.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-004.md
new file mode 100644
index 00000000000..eb37a8b4850
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-004.md
@@ -0,0 +1,66 @@
+---
+id: 615f34ecc1091b4fd5a8a484
+title: Step 4
+challengeType: 0
+dashedName: step-4
+---
+
+# --description--
+
+Within your `head` element, add a `link` element with the `rel` attribute set to `stylesheet` and the `href` attribute set to `https://fonts.googleapis.com/css?family=Open+Sans:400,700,800`.
+
+This will import the `Open Sans` font family, with the font weight values `400`, `700`, and `800`.
+
+Also add a `link` element to link your `styles.css` file.
+
+# --hints--
+
+You should have two `link` elements.
+
+```js
+assert(code.match(/ link?.getAttribute('href') === 'https://fonts.googleapis.com/css?family=Open+Sans:400,700,800'));
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+--fcc-editable-region--
+
+
+
+
+ Nutrition Label
+
+
+
+
Nutrition Facts
+
8 servings per container
+
+
+--fcc-editable-region--
+```
+
+```css
+
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-005.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-005.md
new file mode 100644
index 00000000000..ad1b189bed0
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-005.md
@@ -0,0 +1,53 @@
+---
+id: 615f357957e370510f21ea16
+title: Step 5
+challengeType: 0
+dashedName: step-5
+---
+
+# --description--
+
+Create a `body` selector and give it a `font-family` set to `Open Sans` with a fallback of `sans-serif`.
+
+Remember that fonts with spaces in the name must be wrapped in quotes for CSS.
+
+# --hints--
+
+You should have a `body` selector.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('body'));
+```
+
+Your `body` selector should have a `font-family` property set to `"Open Sans", sans-serif`.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('body')?.fontFamily === '"Open Sans", sans-serif');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+
Nutrition Facts
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+
+```
+
+```css
+--fcc-editable-region--
+
+--fcc-editable-region--
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-006.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-006.md
new file mode 100644
index 00000000000..52a336e0522
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-006.md
@@ -0,0 +1,55 @@
+---
+id: 615f378014c2da526a109c81
+title: Step 6
+challengeType: 0
+dashedName: step-6
+---
+
+# --description--
+
+The font is a bit small. Create an `html` selector and set the font to have a size of `16px`.
+
+# --hints--
+
+You should have an `html` selector.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('html'));
+```
+
+Your `html` selector should have a `font-size` property set to `16px`.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('html')?.fontSize === '16px');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+
Nutrition Facts
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+
+```
+
+```css
+--fcc-editable-region--
+
+--fcc-editable-region--
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-007.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-007.md
new file mode 100644
index 00000000000..96e33cc1a34
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-007.md
@@ -0,0 +1,64 @@
+---
+id: 615f38279e5c3d53692ea441
+title: Step 7
+challengeType: 0
+dashedName: step-7
+---
+
+# --description--
+
+Wrap your `h1` and `p` elements in a `div` element. Give that `div` a `class` attribute set to `label`.
+
+# --hints--
+
+You should create a new `div` element.
+
+```js
+assert(document.querySelector('div'));
+```
+
+Your new `div` element should have the `class` attribute set to `label`.
+
+```js
+assert(document.querySelector('div')?.classList?.contains('label'));
+```
+
+Your `h1` and `p` elements should be within your new `.label` element.
+
+```js
+const children = [...document.querySelectorAll('h1'), ...document.querySelectorAll('p')];
+assert(children?.every(child => child?.parentElement?.classList?.contains('label')));
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+--fcc-editable-region--
+
+
Nutrition Facts
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+--fcc-editable-region--
+
+```
+
+```css
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-008.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-008.md
new file mode 100644
index 00000000000..13f5f2593b8
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-008.md
@@ -0,0 +1,63 @@
+---
+id: 615f38cabc64e3556f98cc1a
+title: Step 8
+challengeType: 0
+dashedName: step-8
+---
+
+# --description--
+
+Borders can be used to group and prioritize content.
+
+Create a `.label` selector and give it a `border` set to `2px solid black`.
+
+# --hints--
+
+You should have a `.label` selector.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('.label'));
+```
+
+Your `.label` selector should have a `border` property set to `2px solid black`.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('.label')?.border === '2px solid black');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+
+
Nutrition Facts
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+
+
+```
+
+```css
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+
+--fcc-editable-region--
+
+--fcc-editable-region--
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-009.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-009.md
new file mode 100644
index 00000000000..9f08de011e6
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-009.md
@@ -0,0 +1,59 @@
+---
+id: 615f3949f58e12577dcefb00
+title: Step 9
+challengeType: 0
+dashedName: step-9
+---
+
+# --description--
+
+Good use of white space can bring focus to the important elements of your page, and help guide your user's eyes through your text.
+
+Give your `.label` selector a `width` property set to `270px`.
+
+# --hints--
+
+Your `.label` selector should have a `width` property set to `270px`.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('.label')?.width === '270px');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+
+
Nutrition Facts
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+
+
+```
+
+```css
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+
+--fcc-editable-region--
+.label {
+ border: 2px solid black;
+}
+--fcc-editable-region--
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-010.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-010.md
new file mode 100644
index 00000000000..f273bf9a263
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-010.md
@@ -0,0 +1,64 @@
+---
+id: 615f39d7da41b15851fa3fb9
+title: Step 10
+challengeType: 0
+dashedName: step-10
+---
+
+# --description--
+
+Give your `.label` selector a `margin` property set to `20px auto`, and a `padding` property set to `0 7px`.
+
+# --hints--
+
+Your `.label` selector should have a `margin` property set to `20px auto`.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('.label')?.margin === '20px auto');
+```
+
+Your `.label` selector should have a `padding` property set to `0 7px`.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('.label')?.padding === '0px 7px');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+
+
Nutrition Facts
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+
+
+```
+
+```css
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+
+--fcc-editable-region--
+.label {
+ border: 2px solid black;
+ width: 270px;
+}
+--fcc-editable-region--
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-011.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-011.md
new file mode 100644
index 00000000000..63304b702e4
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-011.md
@@ -0,0 +1,70 @@
+---
+id: 615f3b091162165948e1cb33
+title: Step 11
+challengeType: 0
+dashedName: step-11
+---
+
+# --description--
+
+If you inspect your `.label` element with your browser's developer tools, you may notice that it's actually 288 pixels wide instead of 270. This is because, by default, the browser includes the border and padding when determining an element's size.
+
+To solve this, reset the box model by creating a `*` selector and giving it a `box-sizing` property of `border-box`.
+
+# --hints--
+
+You should create a `*` selector.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('*'));
+```
+
+Your `*` selector should have a `box-sizing` property set to `border-box`.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('*')?.boxSizing === 'border-box');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+
+
Nutrition Facts
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+
+
+```
+
+```css
+--fcc-editable-region--
+
+--fcc-editable-region--
+
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+
+.label {
+ border: 2px solid black;
+ width: 270px;
+ margin: 20px auto;
+ padding: 0 7px;
+}
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-012.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-012.md
new file mode 100644
index 00000000000..cb116abcc95
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-012.md
@@ -0,0 +1,74 @@
+---
+id: 615f3cafd794015aa9547a6d
+title: Step 12
+challengeType: 0
+dashedName: step-12
+---
+
+# --description--
+
+Remember that the use of `h1`, `h2`, and similar tags determine the semantic structure of your HTML. However, you can adjust the CSS of these elements to control the visual flow and hierarchy.
+
+Create an `h1` rule and set the `font-weight` property to `800`. This will make your `h1` text bolder.
+
+# --hints--
+
+You should create an `h1` selector.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('h1'));
+```
+
+Your `h1` selector should have a `font-weight` property set to `800`.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('h1')?.fontWeight === '800');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+
+
+
+```
+
+```css
+* {
+ box-sizing: border-box;
+}
+
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+
+.label {
+ border: 2px solid black;
+ width: 270px;
+ margin: 20px auto;
+ padding: 0 7px;
+}
+
+h1 {
+ font-weight: 800;
+ text-align: center;
+ margin: -4px 0;
+}
+
+--fcc-editable-region--
+
+--fcc-editable-region--
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-016.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-016.md
new file mode 100644
index 00000000000..56ea0615281
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-016.md
@@ -0,0 +1,94 @@
+---
+id: 615f3ed16592445e57941aec
+title: Step 16
+challengeType: 0
+dashedName: step-16
+---
+
+# --description--
+
+Lines can help separate and group important content, especially when space is limited.
+
+Create a `div` element below your `h1` element, and give it a `class` attribute set to `divider`.
+
+# --hints--
+
+You should create a new `div`.
+
+```js
+assert(document.querySelectorAll('div')?.length === 2);
+```
+
+Your new `div` should have the `class` attribute set to `divider`.
+
+```js
+assert(document.querySelectorAll('div')?.[1]?.classList?.contains('divider'));
+```
+
+Your `.divider` element should be within your `.label` element.
+
+```js
+assert(document.querySelector('.label')?.querySelector('.divider'));
+```
+
+Your `.divider` element should come after your `h1` element.
+
+```js
+assert(document.querySelector('.divider')?.previousElementSibling?.localName === 'h1');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+--fcc-editable-region--
+
+
Nutrition Facts
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+--fcc-editable-region--
+
+
+```
+
+```css
+* {
+ box-sizing: border-box;
+}
+
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+
+.label {
+ border: 2px solid black;
+ width: 270px;
+ margin: 20px auto;
+ padding: 0 7px;
+}
+
+h1 {
+ font-weight: 800;
+ text-align: center;
+ margin: -4px 0;
+}
+
+p {
+ margin: 0;
+}
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-017.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-017.md
new file mode 100644
index 00000000000..84de4ac6133
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-017.md
@@ -0,0 +1,89 @@
+---
+id: 615f405b89a7ec5f8e2d11f4
+title: Step 17
+challengeType: 0
+dashedName: step-17
+---
+
+# --description--
+
+Create a selector for your new `.divider` and set the `border-bottom` property to `1px solid #888989`. Also give it a top and bottom margin of `2px`. It should not have any left or right margin.
+
+# --hints--
+
+You should create a `.divider` selector.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('.divider'));
+```
+
+Your `.divider` selector should have a `border-bottom` property set to `1px solid #888989`.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('.divider')?.borderBottom === '1px solid rgb(136, 137, 137)');
+```
+
+Your `.divider` selector should have a `margin` property set to `2px 0`.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('.divider')?.margin === '2px 0px');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+
+
Nutrition Facts
+
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+
+
+```
+
+```css
+* {
+ box-sizing: border-box;
+}
+
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+
+.label {
+ border: 2px solid black;
+ width: 270px;
+ margin: 20px auto;
+ padding: 0 7px;
+}
+
+h1 {
+ font-weight: 800;
+ text-align: center;
+ margin: -4px 0;
+}
+
+p {
+ margin: 0;
+}
+
+--fcc-editable-region--
+
+--fcc-editable-region--
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-018.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-018.md
new file mode 100644
index 00000000000..79da01c2a7f
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-018.md
@@ -0,0 +1,82 @@
+---
+id: 615f40b01f680e608d360ed4
+title: Step 18
+challengeType: 0
+dashedName: step-18
+---
+
+# --description--
+
+The `letter-spacing` property can be used to adjust the space between each character of text in an element.
+
+Give your `h1` selector a `letter-spacing` property set to `0.15px` to space them out a bit more.
+
+# --hints--
+
+Your `h1` selector should have a `letter-spacing` property set to `0.15px`.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('h1')?.letterSpacing === '0.15px');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+
+
Nutrition Facts
+
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+
+
+```
+
+```css
+* {
+ box-sizing: border-box;
+}
+
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+
+.label {
+ border: 2px solid black;
+ width: 270px;
+ margin: 20px auto;
+ padding: 0 7px;
+}
+
+--fcc-editable-region--
+h1 {
+ font-weight: 800;
+ text-align: center;
+ margin: -4px 0;
+}
+--fcc-editable-region--
+
+p {
+ margin: 0;
+}
+
+.divider {
+ border-bottom: 1px solid #888989;
+ margin: 2px 0;
+}
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-019.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-019.md
new file mode 100644
index 00000000000..9fea5c17ce0
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-019.md
@@ -0,0 +1,89 @@
+---
+id: 615f4172e9eec061d6456221
+title: Step 19
+challengeType: 0
+dashedName: step-19
+---
+
+# --description--
+
+Nutrition labels have a lot of bold text to draw attention to important information. Rather than targeting each element that needs to be bold, it is more efficient to use a class to apply the bold styling to every element.
+
+Give your second `p` element a `class` attribute set to `bold`.
+
+# --hints--
+
+Your second `p` element should have a `class` attribute set to `bold`.
+
+```js
+assert(document.querySelectorAll('p')?.[1]?.classList?.contains('bold'));
+```
+
+Your first `p` element should not have a `class` attribute set to `bold`.
+
+```js
+assert(!document.querySelector('p')?.classList?.contains('bold'));
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+--fcc-editable-region--
+
+
Nutrition Facts
+
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+--fcc-editable-region--
+
+
+```
+
+```css
+* {
+ box-sizing: border-box;
+}
+
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+
+.label {
+ border: 2px solid black;
+ width: 270px;
+ margin: 20px auto;
+ padding: 0 7px;
+}
+
+h1 {
+ font-weight: 800;
+ text-align: center;
+ margin: -4px 0;
+ letter-spacing: 0.15px;
+}
+
+p {
+ margin: 0;
+}
+
+.divider {
+ border-bottom: 1px solid #888989;
+ margin: 2px 0;
+}
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-020.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-020.md
new file mode 100644
index 00000000000..56e13a5ed71
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-020.md
@@ -0,0 +1,102 @@
+---
+id: 615f41c979787462e76dab90
+title: Step 20
+challengeType: 0
+dashedName: step-20
+---
+
+# --description--
+
+Your new class does not have any styling yet. Create a `.bold` selector and give it a `font-weight` property set to `800` to make the text bold.
+
+Go ahead and remove the `font-weight` property from your `h1` selector as well.
+
+# --hints--
+
+You should have a `.bold` selector.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('.bold'));
+```
+
+Your `.bold` selector should have a `font-weight` property set to `800`.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('.bold')?.fontWeight === '800');
+```
+
+Your `h1` selector should not have a `font-weight` property.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('h1')?.fontWeight === "");
+```
+
+You should not remove your `h1` selector.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('h1'));
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+
+
Nutrition Facts
+
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+
+
+```
+
+```css
+* {
+ box-sizing: border-box;
+}
+
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+
+.label {
+ border: 2px solid black;
+ width: 270px;
+ margin: 20px auto;
+ padding: 0 7px;
+}
+
+--fcc-editable-region--
+h1 {
+ font-weight: 800;
+ text-align: center;
+ margin: -4px 0;
+ letter-spacing: 0.15px;
+}
+
+p {
+ margin: 0;
+}
+
+.divider {
+ border-bottom: 1px solid #888989;
+ margin: 2px 0;
+}
+
+--fcc-editable-region--
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-021.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-021.md
new file mode 100644
index 00000000000..de2bc32eb1e
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-021.md
@@ -0,0 +1,84 @@
+---
+id: 615f423cf65d5864132a0956
+title: Step 21
+challengeType: 0
+dashedName: step-21
+---
+
+# --description--
+
+Give your `h1` element a `class` attribute set to `bold`. This will make the text bold again.
+
+# --hints--
+
+Your `h1` element should have a `class` attribute set to `bold`.
+
+```js
+assert(document.querySelector('h1')?.classList?.contains('bold'));
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+--fcc-editable-region--
+
+
Nutrition Facts
+
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+--fcc-editable-region--
+
+
+```
+
+```css
+* {
+ box-sizing: border-box;
+}
+
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+
+.label {
+ border: 2px solid black;
+ width: 270px;
+ margin: 20px auto;
+ padding: 0 7px;
+}
+
+h1 {
+ text-align: center;
+ margin: -4px 0;
+ letter-spacing: 0.15px
+}
+
+p {
+ margin: 0;
+}
+
+.divider {
+ border-bottom: 1px solid #888989;
+ margin: 2px 0;
+}
+
+.bold {
+ font-weight: 800;
+}
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-022.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-022.md
new file mode 100644
index 00000000000..3e1e57a9a41
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-022.md
@@ -0,0 +1,104 @@
+---
+id: 615f42a021625f656101ef93
+title: Step 22
+challengeType: 0
+dashedName: step-22
+---
+
+# --description--
+
+Horizontal spacing between equally important elements can increase the readability of your text.
+
+Wrap the text `2/3 cup (55g)` in a `span` element, and give it a `class` attribute set to `right`.
+
+# --hints--
+
+You should create a new `span` element.
+
+```js
+assert(document.querySelector('span'));
+```
+
+Your new `span` element should have the `class` attribute set to `right`.
+
+```js
+assert(document.querySelector('span')?.classList?.contains('right'));
+```
+
+Your `.right` element should have the text `2/3 cup (55g)`.
+
+```js
+assert(document.querySelector('span')?.textContent === '2/3 cup (55g)');
+```
+
+Your `p` element should still have the text `Serving size 2/3 cup (55g)`.
+
+```js
+assert(document.querySelectorAll('p')?.[1]?.innerText === 'Serving size 2/3 cup (55g)');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+--fcc-editable-region--
+
+
Nutrition Facts
+
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+--fcc-editable-region--
+
+
+```
+
+```css
+* {
+ box-sizing: border-box;
+}
+
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+
+.label {
+ border: 2px solid black;
+ width: 270px;
+ margin: 20px auto;
+ padding: 0 7px;
+}
+
+h1 {
+ text-align: center;
+ margin: -4px 0;
+ letter-spacing: 0.15px
+}
+
+p {
+ margin: 0;
+}
+
+.divider {
+ border-bottom: 1px solid #888989;
+ margin: 2px 0;
+}
+
+.bold {
+ font-weight: 800;
+}
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-023.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-023.md
new file mode 100644
index 00000000000..a827ed632ca
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-023.md
@@ -0,0 +1,94 @@
+---
+id: 615f4bfb9de4a16703b56eb6
+title: Step 23
+challengeType: 0
+dashedName: step-23
+---
+
+# --description--
+
+The `float` property is used to place an element on the left or right of its container, allowing other content (such as text) to wrap around it.
+
+Create a new `.right` selector and set the `float` property to `right`.
+
+# --hints--
+
+You should create a new `.right` selector.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('.right'));
+```
+
+Your `.right` selector should have a `float` property set to `right`.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('.right')?.float === 'right');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+
+
Nutrition Facts
+
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+
+
+```
+
+```css
+* {
+ box-sizing: border-box;
+}
+
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+
+.label {
+ border: 2px solid black;
+ width: 270px;
+ margin: 20px auto;
+ padding: 0 7px;
+}
+
+h1 {
+ text-align: center;
+ margin: -4px 0;
+ letter-spacing: 0.15px
+}
+
+p {
+ margin: 0;
+}
+
+.divider {
+ border-bottom: 1px solid #888989;
+ margin: 2px 0;
+}
+
+.bold {
+ font-weight: 800;
+}
+
+--fcc-editable-region--
+
+--fcc-editable-region--
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-024.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-024.md
new file mode 100644
index 00000000000..c613e7f30f1
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-024.md
@@ -0,0 +1,104 @@
+---
+id: 615f4ce9d877b668417c0c42
+title: Step 24
+challengeType: 0
+dashedName: step-24
+---
+
+# --description--
+
+Wrap everything within the `.label` element in a new `header` element.
+
+# --hints--
+
+You should create a new `header` element.
+
+```js
+assert(document.querySelector('header'));
+```
+
+Your `header` element should be within your `.label` element.
+
+```js
+assert(document.querySelector('header')?.parentElement?.classList?.contains('label'));
+```
+
+Your `h1`, `div`, and `p` elements should be within your new `header` element.
+
+```js
+const children = document.querySelector('header')?.children;
+assert(children?.[0]?.localName === 'h1');
+assert(children?.[1]?.localName === 'div');
+assert(children?.[2]?.localName === 'p');
+assert(children?.[3]?.localName === 'p');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+--fcc-editable-region--
+
+
Nutrition Facts
+
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+--fcc-editable-region--
+
+
+```
+
+```css
+* {
+ box-sizing: border-box;
+}
+
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+
+.label {
+ border: 2px solid black;
+ width: 270px;
+ margin: 20px auto;
+ padding: 0 7px;
+}
+
+h1 {
+ text-align: center;
+ margin: -4px 0;
+ letter-spacing: 0.15px
+}
+
+p {
+ margin: 0;
+}
+
+.divider {
+ border-bottom: 1px solid #888989;
+ margin: 2px 0;
+}
+
+.bold {
+ font-weight: 800;
+}
+
+.right {
+ float: right;
+}
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-025.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-025.md
new file mode 100644
index 00000000000..ff0c4e03830
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-025.md
@@ -0,0 +1,105 @@
+---
+id: 615f4dde9d72e3694cb9ee3b
+title: Step 25
+challengeType: 0
+dashedName: step-25
+---
+
+# --description--
+
+Now update your `h1` selector to be `header h1`, to specifically target your `h1` element within your new `header`.
+
+# --hints--
+
+You should have a `header h1` selector.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('header h1'));
+```
+
+You should not have an `h1` selector.
+
+```js
+assert.isNull(new __helpers.CSSHelp(document).getStyle('h1'));
+```
+
+You should not change any properties in the selector.
+
+```js
+const style = new __helpers.CSSHelp(document).getStyle('header h1');
+assert(style?.textAlign === 'center');
+assert(style?.margin === '-4px 0px');
+assert(style?.letterSpacing === '0.15px');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+
+
+
Nutrition Facts
+
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+
+
+
+```
+
+```css
+* {
+ box-sizing: border-box;
+}
+
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+
+.label {
+ border: 2px solid black;
+ width: 270px;
+ margin: 20px auto;
+ padding: 0 7px;
+}
+
+--fcc-editable-region--
+h1 {
+ text-align: center;
+ margin: -4px 0;
+ letter-spacing: 0.15px
+}
+--fcc-editable-region--
+
+p {
+ margin: 0;
+}
+
+.divider {
+ border-bottom: 1px solid #888989;
+ margin: 2px 0;
+}
+
+.bold {
+ font-weight: 800;
+}
+
+.right {
+ float: right;
+}
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-026.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-026.md
new file mode 100644
index 00000000000..2fd85ad3563
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-026.md
@@ -0,0 +1,105 @@
+---
+id: 615f4ec58334106a4170c2a8
+title: Step 26
+challengeType: 0
+dashedName: step-26
+---
+
+# --description--
+
+Create a new `div` element below your `header` element, and give it a `class` attribute set to `divider lg`.
+
+# --hints--
+
+You should create a new `div` element.
+
+```js
+assert(document.querySelectorAll('div')?.length === 3);
+```
+
+Your new `div` element should come after your `header` element.
+
+```js
+assert(document.querySelector('.label')?.lastElementChild?.localName === 'div');
+```
+
+Your new `div` element should have the `class` attribute set to `divider lg`.
+
+```js
+const div = document.querySelector('.label')?.lastElementChild;
+assert(div?.classList?.contains('divider'));
+assert(div?.classList?.contains('lg'));
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+
+
+
+```
+
+```css
+* {
+ box-sizing: border-box;
+}
+
+html {
+ font-size: 16px;
+}
+
+body {
+ font-family: 'Open Sans', sans-serif;
+}
+
+.label {
+ border: 2px solid black;
+ width: 270px;
+ margin: 20px auto;
+ padding: 0 7px;
+}
+
+header h1 {
+ text-align: center;
+ margin: -4px 0;
+ letter-spacing: 0.15px
+}
+
+p {
+ margin: 0;
+}
+
+.divider {
+ border-bottom: 1px solid #888989;
+ margin: 2px 0;
+ clear: right;
+}
+
+.bold {
+ font-weight: 800;
+}
+
+.right {
+ float: right;
+}
+
+.lg {
+ height: 10px;
+}
+
+.lg, .md {
+ background-color: black;
+ border: 0;
+}
+
+.md {
+ height: 5px;
+}
+
+.sm-text {
+ font-size: 0.85rem;
+}
+
+.calories-info h1 {
+ margin: -5px -2px;
+ overflow: hidden;
+}
+
+.calories-info span {
+ font-size: 1.2em;
+ margin-top: -7px;
+}
+
+.indent {
+ margin-left: 1em;
+}
+
+.dbl-indent {
+ margin-left: 2em;
+}
+
+.daily-value p:not(.no-divider) {
+ border-bottom: 1px solid #888989;
+}
+```
diff --git a/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-065.md b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-065.md
new file mode 100644
index 00000000000..3b505ecc46f
--- /dev/null
+++ b/curriculum/challenges/english/01-responsive-web-design/css-nutrition-label/step-065.md
@@ -0,0 +1,176 @@
+---
+id: 615f94786869e1a7fec54375
+title: Step 65
+challengeType: 0
+dashedName: step-65
+---
+
+# --description--
+
+Create a `.note` selector, and set the size of the font to `0.6rem`. Also set the top and bottom margins to `5px`, removing the left and right margins.
+
+# --hints--
+
+You should have a new `.note` selector.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('.note'));
+```
+
+Your `.note` selector should have a `font-size` property set to `0.6rem`.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('.note')?.fontSize === '0.6rem');
+```
+
+Your `.note` selector should have a `margin` property set to `5px 0`.
+
+```js
+assert(new __helpers.CSSHelp(document).getStyle('.note')?.margin === '5px 0px');
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+ Nutrition Label
+
+
+
+
+
+
+
Nutrition Facts
+
+
8 servings per container
+
Serving size 2/3 cup (55g)
+
+
+
+
Amount per serving
+
Calories 230
+
+
+
+
% Daily Value *
+
+
Total Fat 8g 10%
+
Saturated Fat 1g 5%
+
+
Trans Fat 0g
+
+
Cholesterol 0mg 0%
+
Sodium 160mg 7%
+
Total Carbohydrate 37g 13%
+
Dietary Fiber 4g
+
+
Total Sugars 12g
+
+
Includes 10g Added Sugars 20%
+
+
Protein 3g
+
+
Vitamin D 2mcg 10%
+
Calcium 260mg 20%
+
Iron 8mg 45%
+
Potassium 235mg 6%
+
+
+
* The % Daily Value (DV) tells you how much a nutrient in a serving of food contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
* The % Daily Value (DV) tells you how much a nutrient in a serving of food contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.