feat(curriculum): balance sheet project (#44189)

* feat: initial infra

* feat: create steps

* chore: apply sem's review suggestions

Co-authored-by: Sem Bauke <46919888+Sembauke@users.noreply.github.com>

* feat: write tests

* chore: optional?.chaining?.

* chore: gikf's suggestion

Co-authored-by: Krzysztof <60067306+gikf@users.noreply.github.com>

* chore: rename

* chore: *

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

* chore: apply shaun's review suggestions

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

* chore: manual review suggestions

* chore: ?????

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

Co-authored-by: Sem Bauke <46919888+Sembauke@users.noreply.github.com>
Co-authored-by: Krzysztof <60067306+gikf@users.noreply.github.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
This commit is contained in:
Nicholas Carrigan (he/him)
2021-12-03 14:20:34 -08:00
committed by GitHub
parent f613a1e5fd
commit 536a689d34
57 changed files with 7803 additions and 3 deletions

View File

@ -102,7 +102,8 @@
"title": "Learn Typography by Building a Nutrition Label",
"intro": ["", ""]
},
"learn-css-animation-by-building-a-ferris-wheel": { "title": "Learn CSS Animation by Building a Ferris Wheel", "intro": ["", ""] }
"learn-css-animation-by-building-a-ferris-wheel": { "title": "Learn CSS Animation by Building a Ferris Wheel", "intro": ["", ""] },
"learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet": { "title": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet", "intro": ["", ""] }
}
},
"javascript-algorithms-and-data-structures": {

View File

@ -0,0 +1,10 @@
---
title: Introduction to the Learn More About CSS Pseudo Selectors By Building A Balance Sheet
block: learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet
superBlock: Responsive Web Design
isBeta: true
---
## Introduction to the Learn More About CSS Pseudo Selectors By Building A Balance Sheet
This is a test for the new project-based curriculum.

View File

@ -83,5 +83,6 @@
"learn-css-flexbox-by-building-a-photo-gallery": "HTML-CSS",
"learn-css-grid-by-building-a-magazine": "HTML-CSS",
"learn-typography-by-building-a-nutrition-label": "HTML-CSS",
"learn-css-animation-by-building-a-ferris-wheel": "HTML-CSS"
"learn-css-animation-by-building-a-ferris-wheel": "HTML-CSS",
"learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet": "HTML-CSS"
}

View File

@ -0,0 +1,223 @@
{
"name": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet",
"isUpcomingChange": true,
"usesMultifileEditor": true,
"dashedName": "learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet",
"order": 43,
"time": "5 hours",
"template": "",
"required": [],
"superBlock": "responsive-web-design",
"superOrder": 1,
"isBeta": true,
"challengeOrder": [
[
"6193d8081ec2531581ea7b98",
"Step 1"
],
[
"6193da99ca92051a07fb8a13",
"Step 2"
],
[
"6193dbfec896f21aed7d8114",
"Step 3"
],
[
"6193dc549cb4031bc3a9c4e1",
"Step 4"
],
[
"6193de38b3294e1e378f5bc3",
"Step 5"
],
[
"6193de63d0fcab1f0b4112a0",
"Step 6"
],
[
"6193ded40c51662155758987",
"Step 7"
],
[
"6193df854916a52292a23aa9",
"Step 8"
],
[
"6193dfd113955a238da1cc05",
"Step 9"
],
[
"6193e2baa04690265435e25f",
"Step 10"
],
[
"6193e2f62a56dc26fd594b77",
"Step 11"
],
[
"6193e3a4916fdb281b791892",
"Step 12"
],
[
"6193e40e67d94029468e6b2d",
"Step 13"
],
[
"6193e5280857e72be1efc99d",
"Step 14"
],
[
"6193e55d97150c2ca7c9458a",
"Step 15"
],
[
"6193e5946b7ea12d8ce7b1c2",
"Step 16"
],
[
"6193e5d66b67e32e5f0f930e",
"Step 17"
],
[
"6193e7150dc89231b01a3515",
"Step 18"
],
[
"6193e8957e614d3b8eeb770f",
"Step 19"
],
[
"6193e8eba043903cf68598cd",
"Step 20"
],
[
"6193e9f7a92e7e3e1810b2f4",
"Step 21"
],
[
"6193ea793e49253eee1452d1",
"Step 22"
],
[
"6193ece0b46e03423cd66e78",
"Step 23"
],
[
"6193ed97ae313e4331c9078a",
"Step 24"
],
[
"6193ededc017a2443f10429b",
"Step 25"
],
[
"6193ee19d10be144d6bc9c46",
"Step 26"
],
[
"6193f5169cdc684f60317783",
"Step 27"
],
[
"6193f6615b1bd85076fc5ef2",
"Step 28"
],
[
"6193f7074ca69153347fbc3a",
"Step 29"
],
[
"6193f74b982e4c5449f51a47",
"Step 30"
],
[
"6193f7904dc7ee554d12571f",
"Step 31"
],
[
"6193f85ab1de4356da678090",
"Step 32"
],
[
"6193fa3224d7465850407d3d",
"Step 33"
],
[
"6193fb8bef24145b57fbed00",
"Step 34"
],
[
"6193fd22d907385efadb59c9",
"Step 35"
],
[
"6193fe24beedd361f34f8e96",
"Step 36"
],
[
"6193febd52ffb76345956072",
"Step 37"
],
[
"6193ff2b1198596496b81450",
"Step 38"
],
[
"6193ff6c2a6138658b4ce2af",
"Step 39"
],
[
"6194034278b71f6940a50d91",
"Step 40"
],
[
"619403dacf51db6a79b47b52",
"Step 41"
],
[
"6194079d7cbf586eba9539ff",
"Step 42"
],
[
"619409a3b1ec0b727ac2ab30",
"Step 43"
],
[
"61940bfdc4e2a874af766567",
"Step 44"
],
[
"61940e95c95cff77d0b2a310",
"Step 45"
],
[
"61940f551fa4db7967451be9",
"Step 46"
],
[
"6194108c6951ca7cae9596bd",
"Step 47"
],
[
"619410f7040d427d9c782db7",
"Step 48"
],
[
"6194114534b4547e5177cb2a",
"Step 49"
],
[
"619412990eaf9c80415b280d",
"Step 50"
],
[
"6194135942d5e08174b8bab1",
"Step 51"
],
[
"619413f5c1218b82b7b56a60",
"Step 52"
]
]
}

View File

@ -0,0 +1,132 @@
---
id: 6193d8081ec2531581ea7b98
title: Step 1
challengeType: 0
dashedName: step-1
---
# --description--
A balance sheet is used to track the state of an organization's finances. You'll be building a mock balance sheet for AcmeWidgetCorp to explore the use of various CSS selectors.
Begin with your basic HTML boilerplate. Include the `DOCTYPE` declaration, an `html` element, the appropriate `meta` tags, a `head`, `body`, and `title` element, and `link` your stylesheet. Give the `title` element the text `AcmeWidgetCorp Balance Sheet`.
# --hints--
Your code should have a `<!DOCTYPE html>` declaration.
```js
assert(code.match(/<!DOCTYPE html>/i));
```
Your code should have an `html` element.
```js
assert(document.querySelectorAll('html')?.length === 1);
```
Your code should have a `head` element within the `html` element.
```js
assert(document.querySelectorAll('head')?.length === 1);
```
Your code should have a `body` element within the `html` element.
```js
assert(document.querySelectorAll('body')?.length === 1);
```
Your `head` element should come before your `body` element.
```js
assert(document.querySelector('body')?.previousElementSibling?.tagName === 'HEAD');
```
You should have two `meta` elements.
```js
const meta = document.querySelectorAll('meta');
assert(meta?.length === 2);
```
One `meta` element should have a `name` set to `viewport`, and `content` set to `width=device-width, initial-scale=1.0`.
```js
const meta = [...document.querySelectorAll('meta')];
const target = meta?.find(m => m?.getAttribute('name') === 'viewport' && m?.getAttribute('content') === 'width=device-width, initial-scale=1.0' && !m?.getAttribute('charset'));
assert.exists(target);
```
The other `meta` element should have the `charset` attribute set to `UTF-8`.
```js
const meta = [...document.querySelectorAll('meta')];
const target = meta?.find(m => !m?.getAttribute('name') && !m?.getAttribute('content') && m?.getAttribute('charset')?.toLowerCase() === 'utf-8');
assert.exists(target);
```
Your code should have a `title` element.
```js
const title = document.querySelector('title');
assert.exists(title);
```
Your project should have a title of `AcmeWidgetCorp Balance Sheet`.
```js
const title = document.querySelector('title');
assert.equal(title?.text?.trim()?.toLowerCase(), 'acmewidgetcorp balance sheet')
```
Remember, the casing and spelling matter for the title.
```js
const title = document.querySelector('title');
assert.equal(title?.text?.trim(), 'AcmeWidgetCorp Balance Sheet');
```
Your code should have a `link` element.
```js
assert(/<link/.test(code))
```
Your `href` attribute should have the value `./styles.css`.
```js
assert(/href\s*=\s*('|")(\.\/)?styles\.css\1/.test(code));
```
Your `rel` attribute should have the value `stylesheet`.
```js
assert(/rel\s*=\s*('|")\s*stylesheet\s*\1/.test(code));
```
Your `type` attribute should have the value `text/css`.
```js
assert(/type\s*=\s*('|")\s*text\/css\s*\1/.test(code));
```
Your `link` element should have `href="./styles.css"`, `rel="stylesheet"`, and `type="text/css"` attributes
```js
assert(/<link\s+(href\s*=\s*("|')(\.\/)?styles\.css\2\s*(rel\s*=\s*('|")\s*stylesheet\s*\5\s*type\s*=\s*("|')text\/css\6|type\s*=\s*("|')text\/css\7\s*rel\s*=\s*('|")\s*stylesheet\s*\8)|rel\s*=\s*('|")\s*stylesheet\s*\9\s*(href\s*=\s*("|')(\.\/)?styles\.css\11\s*type\s*=\s*("|')text\/css\13|type\s*=\s*("|')text\/css\14\s*href\s*=\s*("|')(\.\/)?styles\.css\15)|type\s*=\s*("|')text\/css\17\s*(href\s*=\s*("|')(\.\/)?styles\.css\19\s*rel\s*=\s*('|")\s*stylesheet\s*\21|rel\s*=\s*('|")\s*stylesheet\s*\22\s*href\s*=\s*("|')(\.\/)?styles\.css\23))\s*\/?>/.test(code));
```
# --seed--
## --seed-contents--
```html
--fcc-editable-region--
--fcc-editable-region--
```
```css
```

View File

@ -0,0 +1,78 @@
---
id: 6193da99ca92051a07fb8a13
title: Step 2
challengeType: 0
dashedName: step-2
---
# --description--
Within your `body` element, create a `div` element with the `id` set to `sheet`. Below that, create a `footer` element with the text set to `Last Updated: December 2021`.
# --hints--
You should create a new `div` element.
```js
assert(document.querySelectorAll('div')?.length === 1);
```
Your new `div` element should be within your `body` element.
```js
assert(document.querySelector('div')?.parentElement?.localName === 'body');
```
Your new `div` element should have an `id` attribute set to `sheet`.
```js
assert(document.querySelector('div')?.getAttribute('id') === 'sheet');
```
You should create a new `footer` element.
```js
assert(document.querySelectorAll('footer')?.length === 1);
```
Your new `footer` element should be within your `body` element.
```js
assert(document?.querySelector('footer')?.parentElement?.localName === 'body');
```
Your `footer` element should come after your `div` element.
```js
assert(document.querySelector('footer')?.previousElementSibling?.localName === 'div');
```
Your `footer` element should have the text `Last Updated: December 2021`.
```js
assert(document.querySelector('footer')?.textContent === 'Last Updated: December 2021');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
--fcc-editable-region--
<body>
</body>
--fcc-editable-region--
</html>
```
```css
```

View File

@ -0,0 +1,51 @@
---
id: 6193dbfec896f21aed7d8114
title: Step 3
challengeType: 0
dashedName: step-3
---
# --description--
Within your `#sheet` element, create a new `div` and give it an `id` set to `header`.
# --hints--
You should create a new `div` element within your `#sheet` element.
```js
assert(document.querySelectorAll('#sheet > div')?.length === 1);
```
Your new `div` element should have an `id` attribute set to `header`.
```js
assert(document.querySelector('#sheet > div')?.getAttribute('id') === 'header');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
--fcc-editable-region--
<div id="sheet">
</div>
--fcc-editable-region--
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,71 @@
---
id: 6193dc549cb4031bc3a9c4e1
title: Step 4
challengeType: 0
dashedName: step-4
---
# --description--
In your `#header` element, create an `h1` element with the text `Balance Sheet` and an `h2` element with the text `AcmeWidgetCorp`.
# --hints--
You should create a new `h1` element within your `#header` element.
```js
assert(document.querySelectorAll('#header > h1')?.length === 1);
```
Your new `h1` element should have the text `Balance Sheet`.
```js
assert(document.querySelector('#header > h1')?.textContent === 'Balance Sheet');
```
You should create a new `h2` element within your `#header` element.
```js
assert(document.querySelectorAll('#header > h2')?.length === 1);
```
Your new `h2` element should have the text `AcmeWidgetCorp`.
```js
assert(document.querySelector('#header > h2')?.textContent === 'AcmeWidgetCorp');
```
Your `h1` element should come before your `h2` element.
```js
assert(document.querySelector('#header > h1')?.nextElementSibling?.localName === 'h2');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
--fcc-editable-region--
<div id="sheet">
<div id="header">
</div>
</div>
--fcc-editable-region--
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,67 @@
---
id: 6193de38b3294e1e378f5bc3
title: Step 5
challengeType: 0
dashedName: step-5
---
# --description--
Below your `h2` element, create a `p` element with the `class` set to `row`. In that new element, create three `span` elements.
# --hints--
You should create a new `p` element within your `#header` element.
```js
assert(document.querySelectorAll('#header > p')?.length === 1);
```
Your `p` element should come after your `h2` element.
```js
assert(document.querySelector('#header > h2')?.nextElementSibling?.localName === 'p');
```
Your new `p` element should have a `class` attribute set to `row`.
```js
assert(document.querySelector('#header > p')?.classList?.contains('row'));
```
Your `.row` element should have 3 `span` elements.
```js
assert(document.querySelectorAll('#header > .row > span')?.length === 3);
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
--fcc-editable-region--
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
</div>
--fcc-editable-region--
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,66 @@
---
id: 6193de63d0fcab1f0b4112a0
title: Step 6
challengeType: 0
dashedName: step-6
---
# --description--
Give the first `span` element the text `2019`, the second the text `2020`, and the third the text `2021`. Also give the third `span` a `class` set to `current`.
# --hints--
Your first `span` element should have the text `2019`.
```js
assert(document.querySelectorAll('#header > .row > span')?.[0]?.textContent === '2019');
```
Your second `span` element should have the text `2020`.
```js
assert(document.querySelectorAll('#header > .row > span')?.[1]?.textContent === '2020');
```
Your third `span` element should have the text `2021`.
```js
assert(document.querySelectorAll('#header > .row > span')?.[2]?.textContent === '2021');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
--fcc-editable-region--
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span></span>
<span></span>
<span></span>
</p>
--fcc-editable-region--
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,85 @@
---
id: 6193ded40c51662155758987
title: Step 7
challengeType: 0
dashedName: step-7
---
# --description--
Below your `#header` element, create an `h2` element with the text `Assets`, followed by a `div` element with the `class` set to `section`.
# --hints--
You should create a new `h2` element within your `#sheet` element.
```js
assert(document.querySelectorAll('#sheet > h2')?.length === 1);
```
Your new `h2` element should come after your `#header` element.
```js
assert(document.querySelector('#sheet > h2')?.previousElementSibling?.localName === 'div');
```
Your new `h2` element should have the text `Assets`.
```js
assert(document.querySelector('#sheet > h2')?.textContent === 'Assets');
```
You should create a new `div` element within your `#sheet` element.
```js
assert(document.querySelectorAll('#sheet > div')?.length === 2);
```
Your new `div` element should have a `class` attribute set to `section`.
```js
assert(document.querySelectorAll('#sheet > div')?.[1]?.classList?.contains('section'));
```
Your new `div` element should come after your new `h2` element.
```js
assert(document.querySelector('#sheet > .section')?.previousElementSibling?.localName === 'h2');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
--fcc-editable-region--
--fcc-editable-region--
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,82 @@
---
id: 6193df854916a52292a23aa9
title: Step 8
challengeType: 0
dashedName: step-8
---
# --description--
Within the `.section` element, create a `p` element with the `class` set to `row`, followed by a `span` element with the `class` set to `notes`.
# --hints--
You should create a new `p` element within your `.section` element.
```js
assert(document.querySelectorAll('.section > p')?.length === 1);
```
Your new `p` element should have a `class` attribute set to `row`.
```js
assert(document.querySelector('.section > p')?.classList?.contains('row'));
```
You should create a new `span` element within your `.section` element.
```js
assert(document.querySelectorAll('.section > span')?.length === 1);
```
Your new `span` element should have a `class` attribute set to `notes`.
```js
assert(document.querySelector('.section > span')?.classList?.contains('notes'));
```
Your `p` element should come before your `span` element.
```js
assert(document.querySelector('.section > p')?.nextElementSibling?.localName === 'span');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
--fcc-editable-region--
<div class="section">
</div>
--fcc-editable-region--
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,90 @@
---
id: 6193dfd113955a238da1cc05
title: Step 9
challengeType: 0
dashedName: step-9
---
# --description--
Copy the `.row` and `.notes` elements and paste two more sets, so that your `.section` has three of each.
# --hints--
You should have three `.row` elements.
```js
assert(document.querySelectorAll('.row').length === 4);
```
You should have three `.notes` elements.
```js
assert(document.querySelectorAll('.notes').length === 3);
```
Your `.row` elements should all be within your `.section` element.
```js
assert(document.querySelectorAll('.section > .row').length === 3);
```
Your `.notes` elements should all be within your `.section` element.
```js
assert(document.querySelectorAll('.section > .notes').length === 3);
```
Your `.row` and `.notes` elements should be in the correct order.
```js
const children = document.querySelector('.section')?.children;
assert(children?.length === 6);
assert(children?.[0]?.classList?.contains('row'));
assert(children?.[1]?.classList?.contains('notes'));
assert(children?.[2]?.classList?.contains('row'));
assert(children?.[3]?.classList?.contains('notes'));
assert(children?.[4]?.classList?.contains('row'));
assert(children?.[5]?.classList?.contains('notes'));
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
--fcc-editable-region--
<div class="section">
<p class="row"></p>
<span class="notes"></span>
</div>
--fcc-editable-region--
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,76 @@
---
id: 6193e2baa04690265435e25f
title: Step 10
challengeType: 0
dashedName: step-10
---
# --description--
Below the final `.notes` element, create a `p` element with a `class` of `row` and `total`.
# --hints--
You should create a new `p` element within your `.section` element.
```js
assert(document.querySelectorAll('.section > p')?.length === 4);
```
Your new `p` element should have a `class` attribute set to `row total`.
```js
assert(document.querySelectorAll('.section > p')?.[3]?.classList?.contains('row'));
assert(document.querySelectorAll('.section > p')?.[3]?.classList?.contains('total'));
```
Your new `p` element should be the last element in the `.section` element.
```js
assert(document.querySelectorAll('.section > p')?.[3]?.nextElementSibling === null);
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
--fcc-editable-region--
<div class="section">
<p class="row"></p>
<span class="notes"></span>
<p class="row"></p>
<span class="notes"></span>
<p class="row"></p>
<span class="notes"></span>
</div>
--fcc-editable-region--
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,78 @@
---
id: 6193e2f62a56dc26fd594b77
title: Step 11
challengeType: 0
dashedName: step-11
---
# --description--
Within your first `.row` element, create four `span` elements. Give the first `span` a `class` set to `name`, and the last `span` a `class` set to `current`.
# --hints--
Your first `.row` element (in your `.section` element) should have four `span` elements.
```js
assert(document.querySelectorAll('.section > .row > span')?.length === 4);
```
Your first new `span` element should have a `class` attribute set to `name`.
```js
assert(document.querySelectorAll('.section > .row > span')?.[0]?.classList?.contains('name'));
```
Your last new `span` element should have a `class` attribute set to `current`.
```js
assert(document.querySelectorAll('.section > .row > span')?.[3]?.classList?.contains('current'));
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
--fcc-editable-region--
<p class="row">
</p>
--fcc-editable-region--
<span class="notes"></span>
<p class="row"></p>
<span class="notes"></span>
<p class="row"></p>
<span class="notes"></span>
<p class="row total"></p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,90 @@
---
id: 6193e3a4916fdb281b791892
title: Step 12
challengeType: 0
dashedName: step-12
---
# --description--
Copy the four `span` elements within your `.row` element, and paste them into your other three `.row` elements within your `.section` element.
# --hints--
Your second `.row` element should have the four `span` elements.
```js
const target = document.querySelectorAll('.section > .row')[1];
assert(target?.querySelectorAll('span')?.length === 4);
assert(target?.querySelectorAll('span')?.[0]?.classList?.contains('name'));
assert(target?.querySelectorAll('span')?.[3]?.classList?.contains('current'));
```
Your third `.row` element should have the four `span` elements.
```js
const target = document.querySelectorAll('.section > .row')[2];
assert(target?.querySelectorAll('span')?.length === 4);
assert(target?.querySelectorAll('span')?.[0]?.classList?.contains('name'));
assert(target?.querySelectorAll('span')?.[3]?.classList?.contains('current'));
```
Your fourth `.row` element (your `.row total` element) should have the four `span` elements.
```js
const target = document.querySelectorAll('.section > .row')[3];
assert(target?.querySelectorAll('span')?.length === 4);
assert(target?.querySelectorAll('span')?.[0]?.classList?.contains('name'));
assert(target?.querySelectorAll('span')?.[3]?.classList?.contains('current'));
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
--fcc-editable-region--
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row"></p>
<span class="notes"></span>
<p class="row"></p>
<span class="notes"></span>
<p class="row total"></p>
--fcc-editable-region--
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,103 @@
---
id: 6193e40e67d94029468e6b2d
title: Step 13
challengeType: 0
dashedName: step-13
---
# --description--
Below your `.section` element, create another `h2` element with the text `Liabilities`. Following that, create another `div` with the `class` set to `section`.
# --hints--
You should create a new `h2` element below your existing `.section` element.
```js
assert(document.querySelector('.section')?.nextElementSibling?.localName === 'h2');
```
Your new `h2` element should have the text `Liabilities`.
```js
assert(document.querySelector('.section')?.nextElementSibling?.textContent === 'Liabilities');
```
You should create a new `div` element within your `#sheet` element.
```js
assert(document.querySelector('#sheet')?.lastElementChild?.localName === 'div');
```
Your new `div` element should have a `class` attribute set to `section`.
```js
assert(document.querySelector('#sheet')?.lastElementChild?.classList?.contains('section'));
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
--fcc-editable-region--
--fcc-editable-region--
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,122 @@
---
id: 6193e5280857e72be1efc99d
title: Step 14
challengeType: 0
dashedName: step-14
---
# --description--
Copy the entire contents of your first `.section` element and paste them into your second `.section` element.
# --hints--
Your second `.section` element should have four `p` elements.
```js
assert(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p')?.length === 4);
```
Your second `.section` element should have three `p` elements with the class set to `row`.
```js
const ps = Array.from(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p'));
assert(ps?.filter?.(p => p?.classList?.contains('row') && !p?.classList?.contains('total'))?.length === 3);
```
Your second `.section` element should have a `p` element with the class `row` and `total`.
```js
assert(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p.row.total')?.length === 1);
```
Your `.row` elements should each have four `span` elements.
```js
const rows = Array.from(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p.row'));
assert(rows?.every?.(row => row?.querySelectorAll('span')?.length === 4));
```
Within each `.row` element, your first `span` element should have the class set to `name`.
```js
const rows = Array.from(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p.row'));
assert(rows?.every?.(row => row?.querySelectorAll('span')?.[0]?.classList?.contains('name')));
```
Within each `.row` element, your last `span` element should have the class set to `current`.
```js
const rows = Array.from(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p.row'));
assert(rows?.every?.(row => row?.querySelectorAll('span')?.[3]?.classList?.contains('current')));
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
<h2>Liabilities</h2>
--fcc-editable-region--
<div class="section">
</div>
--fcc-editable-region--
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,133 @@
---
id: 6193e55d97150c2ca7c9458a
title: Step 15
challengeType: 0
dashedName: step-15
---
# --description--
Below your second `.section` element, create another `h2` element with the text `Net Worth`. Follow that with a `div` element with the `class` set to `section`.
# --hints--
You should create a new `h2` element below your second `.section` element.
```js
assert(document.querySelectorAll('.section')?.[1]?.nextElementSibling?.localName === 'h2');
```
Your new `h2` element should have the text `Net Worth`.
```js
assert(document.querySelectorAll('.section')?.[1]?.nextElementSibling?.textContent === 'Net Worth');
```
You should create a new `div` element within your `#sheet` element.
```js
assert(document.querySelector('#sheet')?.lastElementChild?.localName === 'div');
```
Your new `div` element should have a `class` attribute set to `section`.
```js
assert(document.querySelector('#sheet')?.lastElementChild?.classList?.contains('section'));
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
--fcc-editable-region--
--fcc-editable-region--
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,131 @@
---
id: 6193e5946b7ea12d8ce7b1c2
title: Step 16
challengeType: 0
dashedName: step-16
---
# --description--
Copy one of your `.row total` elements, with its contents, and paste that into your third `.section` element. Do not copy the other elements.
# --hints--
Your third `.section` element should have a `.row total` element.
```js
assert(document.querySelectorAll('.section')?.[2]?.querySelector('.row.total'));
```
Your new `.row total` element should match the other `.row total` elements.
```js
assert.deepEqual(document.querySelectorAll('.row.total')?.[0]?.innerHTML, document.querySelectorAll('.row.total')?.[2]?.innerHTML);
```
Your third `.section` element should not have any other elements within it.
```js
assert(document.querySelectorAll('.section')?.[2]?.querySelector('.row.total')?.previousElementSibling === null);
assert(document.querySelectorAll('.section')?.[2]?.querySelector('.row.total')?.nextElementSibling === null);
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
<h2>Net Worth</h2>
--fcc-editable-region--
<div class="section">
</div>
--fcc-editable-region--
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,152 @@
---
id: 6193e5d66b67e32e5f0f930e
title: Step 17
challengeType: 0
dashedName: step-17
---
# --description--
Now you can start filling in the data. In your first `.row` element, give the `span` elements the following text values in order: `Cash`, `$25`, `$30`, and `$28`. Give the following `.notes` element the text `This is the cash we currently have on hand.`.
# --hints--
The first `span` element should have the text `Cash`.
```js
const row = document.querySelectorAll('.section > .row')?.[0];
assert(row?.querySelectorAll('span')?.[0]?.textContent === 'Cash');
```
The second `span` element should have the text `$25`.
```js
const row = document.querySelectorAll('.section > .row')?.[0];
assert(row?.querySelectorAll('span')?.[1]?.textContent === '$25');
```
The third `span` element should have the text `$30`.
```js
const row = document.querySelectorAll('.section > .row')?.[0];
assert(row?.querySelectorAll('span')?.[2]?.textContent === '$30');
```
The fourth `span` element should have the text `$28`.
```js
const row = document.querySelectorAll('.section > .row')?.[0];
assert(row?.querySelectorAll('span')?.[3]?.textContent === '$28');
```
Your first `.notes` element should have the text `This is the cash we currently have on hand.`.
```js
const notes = document.querySelectorAll('.section > .notes')?.[0];
assert(notes?.textContent === 'This is the cash we currently have on hand.');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
--fcc-editable-region--
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
--fcc-editable-region--
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,152 @@
---
id: 6193e7150dc89231b01a3515
title: Step 18
challengeType: 0
dashedName: step-18
---
# --description--
In your second `.row` element, give the `span` elements the following text values in order: `Checking`, `$54`, `$56`, and `$53`. Give the following `.notes` element the text `Our primary transactional account.`.
# --hints--
The first `span` element should have the text `Checking`.
```js
const row = document.querySelectorAll('.section > .row')?.[1];
assert(row?.querySelectorAll('span')?.[0]?.textContent === 'Checking');
```
The second `span` element should have the text `$54`.
```js
const row = document.querySelectorAll('.section > .row')?.[1];
assert(row?.querySelectorAll('span')?.[1]?.textContent === '$54');
```
The third `span` element should have the text `$56`.
```js
const row = document.querySelectorAll('.section > .row')?.[1];
assert(row?.querySelectorAll('span')?.[2]?.textContent === '$56');
```
The fourth `span` element should have the text `$53`.
```js
const row = document.querySelectorAll('.section > .row')?.[1];
assert(row?.querySelectorAll('span')?.[3]?.textContent === '$53');
```
Your second `.notes` element should have the text `Our primary transactional account.`.
```js
const notes = document.querySelectorAll('.section > .notes')?.[1];
assert(notes?.textContent === 'Our primary transactional account.');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
--fcc-editable-region--
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
--fcc-editable-region--
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,152 @@
---
id: 6193e8957e614d3b8eeb770f
title: Step 19
challengeType: 0
dashedName: step-19
---
# --description--
In your third `.row` element, give the `span` elements the following text values in order: `Savings`, `$500`, `$650`, and `$728`. Give the following `.notes` element the text `Funds set aside for emergencies.`.
# --hints--
The first `span` element should have the text `Savings`.
```js
const row = document.querySelectorAll('.section > .row')?.[2];
assert(row?.querySelectorAll('span')?.[0]?.textContent === 'Savings');
```
The second `span` element should have the text `$500`.
```js
const row = document.querySelectorAll('.section > .row')?.[2];
assert(row?.querySelectorAll('span')?.[1]?.textContent === '$500');
```
The third `span` element should have the text `$650`.
```js
const row = document.querySelectorAll('.section > .row')?.[2];
assert(row?.querySelectorAll('span')?.[2]?.textContent === '$650');
```
The fourth `span` element should have the text `$728`.
```js
const row = document.querySelectorAll('.section > .row')?.[2];
assert(row?.querySelectorAll('span')?.[3]?.textContent === '$728');
```
Your third `.notes` element should have the text `Funds set aside for emergencies.`.
```js
const notes = document.querySelectorAll('.section > .notes')?.[2];
assert(notes?.textContent === 'Funds set aside for emergencies.');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
--fcc-editable-region--
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
--fcc-editable-region--
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,145 @@
---
id: 6193e8eba043903cf68598cd
title: Step 20
challengeType: 0
dashedName: step-20
---
# --description--
In your first `.row total` element, give the `span` elements within the following text, in order: `Total`, `$579`, `$736`, and `$809`.
# --hints--
The first `span` element should have the text `Total`.
```js
const row = document.querySelectorAll('.section > .row')?.[3];
assert(row?.querySelectorAll('span')?.[0]?.textContent === 'Total');
```
The second `span` element should have the text `$579`.
```js
const row = document.querySelectorAll('.section > .row')?.[3];
assert(row?.querySelectorAll('span')?.[1]?.textContent === '$579');
```
The third `span` element should have the text `$736`.
```js
const row = document.querySelectorAll('.section > .row')?.[3];
assert(row?.querySelectorAll('span')?.[2]?.textContent === '$736');
```
The fourth `span` element should have the text `$809`.
```js
const row = document.querySelectorAll('.section > .row')?.[3];
assert(row?.querySelectorAll('span')?.[3]?.textContent === '$809');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
--fcc-editable-region--
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
--fcc-editable-region--
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,152 @@
---
id: 6193e9f7a92e7e3e1810b2f4
title: Step 21
challengeType: 0
dashedName: step-21
---
# --description--
Now move on to your second `.section` element. In the first `.row` there, give the `span` elements the following text in order: `Loans`, `$500`, `$250`, `$0`. Give the `.notes` element below it the text `The outstanding balance on our startup loan.`.
# --hints--
The first `span` element should have the text `Loans`.
```js
const row = document.querySelectorAll('.section > .row')?.[4];
assert(row?.querySelectorAll('span')?.[0]?.textContent === 'Loans');
```
The second `span` element should have the text `$500`.
```js
const row = document.querySelectorAll('.section > .row')?.[4];
assert(row?.querySelectorAll('span')?.[1]?.textContent === '$500');
```
The third `span` element should have the text `$250`.
```js
const row = document.querySelectorAll('.section > .row')?.[4];
assert(row?.querySelectorAll('span')?.[2]?.textContent === '$250');
```
The fourth `span` element should have the text `$0`.
```js
const row = document.querySelectorAll('.section > .row')?.[4];
assert(row?.querySelectorAll('span')?.[3]?.textContent === '$0');
```
Your fourth `.notes` element should have the text `The outstanding balance on our startup loan.`.
```js
const notes = document.querySelectorAll('.section > .notes')?.[3];
assert(notes?.textContent === 'The outstanding balance on our startup loan.');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
--fcc-editable-region--
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
--fcc-editable-region--
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,152 @@
---
id: 6193ea793e49253eee1452d1
title: Step 22
challengeType: 0
dashedName: step-22
---
# --description--
Give the `span` elements within your sixth `.row` element the following text, in order: `Expenses`, `$200`, `$300`, and `$400`. Then give the following `.notes` element the text `Annual anticipated expenses, such as payroll.`.
# --hints--
The first `span` element should have the text `Expenses`.
```js
const row = document.querySelectorAll('.section > .row')?.[5];
assert(row?.querySelectorAll('span')?.[0]?.textContent === 'Expenses');
```
The second `span` element should have the text `$200`.
```js
const row = document.querySelectorAll('.section > .row')?.[5];
assert(row?.querySelectorAll('span')?.[1]?.textContent === '$200');
```
The third `span` element should have the text `$300`.
```js
const row = document.querySelectorAll('.section > .row')?.[5];
assert(row?.querySelectorAll('span')?.[2]?.textContent === '$300');
```
The fourth `span` element should have the text `$400`.
```js
const row = document.querySelectorAll('.section > .row')?.[5];
assert(row?.querySelectorAll('span')?.[3]?.textContent === '$400');
```
Your fifth `.notes` element should have the text `Annual anticipated expenses, such as payroll.`.
```js
const notes = document.querySelectorAll('.section > .notes')?.[4];
assert(notes?.textContent === 'Annual anticipated expenses, such as payroll.');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
--fcc-editable-region--
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
--fcc-editable-region--
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,152 @@
---
id: 6193ece0b46e03423cd66e78
title: Step 23
challengeType: 0
dashedName: step-23
---
# --description--
For your seventh `.row` element, give the `span` elements the following text, in order: `Credit`, `$50`, `$50`, and `$75`. Give the `.notes` element below it the text `The running balance on our line of credit.`.
# --hints--
The first `span` element should have the text `Credit`.
```js
const row = document.querySelectorAll('.section > .row')?.[6];
assert(row?.querySelectorAll('span')?.[0]?.textContent === 'Credit');
```
The second `span` element should have the text `$50`.
```js
const row = document.querySelectorAll('.section > .row')?.[6];
assert(row?.querySelectorAll('span')?.[1]?.textContent === '$50');
```
The third `span` element should have the text `$50`.
```js
const row = document.querySelectorAll('.section > .row')?.[6];
assert(row?.querySelectorAll('span')?.[2]?.textContent === '$50');
```
The fourth `span` element should have the text `$75`.
```js
const row = document.querySelectorAll('.section > .row')?.[6];
assert(row?.querySelectorAll('span')?.[3]?.textContent === '$75');
```
Your fifth `.notes` element should have the text `The running balance on our line of credit.`.
```js
const notes = document.querySelectorAll('.section > .notes')?.[5];
assert(notes?.textContent === 'The running balance on our line of credit.');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
--fcc-editable-region--
<p class="row">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
<span class="notes"></span>
--fcc-editable-region--
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,145 @@
---
id: 6193ed97ae313e4331c9078a
title: Step 24
challengeType: 0
dashedName: step-24
---
# --description--
Give the `span` elements within your second `.row total` element the following text, in order: `Total`, `$750`, `$600`, and `$475`.
# --hints--
The first `span` element should have the text `Total`.
```js
const row = document.querySelectorAll('.section > .row')?.[7];
assert(row?.querySelectorAll('span')?.[0]?.textContent === 'Total');
```
The second `span` element should have the text `$750`.
```js
const row = document.querySelectorAll('.section > .row')?.[7];
assert(row?.querySelectorAll('span')?.[1]?.textContent === '$750');
```
The third `span` element should have the text `$600`.
```js
const row = document.querySelectorAll('.section > .row')?.[7];
assert(row?.querySelectorAll('span')?.[2]?.textContent === '$600');
```
The fourth `span` element should have the text `$475`.
```js
const row = document.querySelectorAll('.section > .row')?.[7];
assert(row?.querySelectorAll('span')?.[3]?.textContent === '$475');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
--fcc-editable-region--
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
--fcc-editable-region--
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,145 @@
---
id: 6193ededc017a2443f10429b
title: Step 25
challengeType: 0
dashedName: step-25
---
# --description--
In your final `.row total` element, give the `span` elements the following text, in order: `Total`, `-$171`, `$136`, and `$334`.
# --hints--
The first `span` element should have the text `Total`.
```js
const row = document.querySelectorAll('.section > .row')?.[8];
assert(row?.querySelectorAll('span')?.[0]?.textContent === 'Total');
```
The second `span` element should have the text `-$171`.
```js
const row = document.querySelectorAll('.section > .row')?.[8];
assert(row?.querySelectorAll('span')?.[1]?.textContent === '-$171');
```
The third `span` element should have the text `$136`.
```js
const row = document.querySelectorAll('.section > .row')?.[8];
assert(row?.querySelectorAll('span')?.[2]?.textContent === '$136');
```
The fourth `span` element should have the text `$334`.
```js
const row = document.querySelectorAll('.section > .row')?.[8];
assert(row?.querySelectorAll('span')?.[3]?.textContent === '$334');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
--fcc-editable-region--
<p class="row total">
<span class="name"></span>
<span></span>
<span></span>
<span class="current"></span>
</p>
--fcc-editable-region--
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
```

View File

@ -0,0 +1,131 @@
---
id: 6193ee19d10be144d6bc9c46
title: Step 26
challengeType: 0
dashedName: step-26
---
# --description--
Now that you have all of the financial data in place, you need to style your balance sheet so it looks visually appealing.
Start by creating a `body` selector, and give it a `text-align` property set to `center`.
# --hints--
You should create a `body` selector.
```js
assert(new __helpers.CSSHelp(document).getStyle('body'));
```
Your `body` selector should have a `text-align` property set to `center`.
```js
assert(new __helpers.CSSHelp(document).getStyle('body')?.textAlign === 'center');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
--fcc-editable-region--
--fcc-editable-region--
```

View File

@ -0,0 +1,131 @@
---
id: 6193f5169cdc684f60317783
title: Step 27
challengeType: 0
dashedName: step-27
---
# --description--
The browser defaults for font and color are not ideal. Give your `body` selector a `font-family` property set to `Tahoma` and a `color` property set to `#0a0a23`.
# --hints--
Your `body` selector should have a `font-family` property set to `Tahoma`.
```js
assert(new __helpers.CSSHelp(document).getStyle('body')?.fontFamily === 'Tahoma');
```
Your `body` selector should have a `color` property set to `#0a0a23`.
```js
assert(new __helpers.CSSHelp(document).getStyle('body')?.color === 'rgb(10, 10, 35)');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
--fcc-editable-region--
body {
text-align: center;
}
--fcc-editable-region--
```

View File

@ -0,0 +1,141 @@
---
id: 6193f6615b1bd85076fc5ef2
title: Step 28
challengeType: 0
dashedName: step-28
---
# --description--
The content within your balance sheet should be left-justified, while the sheet itself remains centered on the page. Create a `#sheet` selector and give it a `text-align` property set to `left` and a `max-width` property set to `500px`.
# --hints--
You should create a new `#sheet` selector.
```js
assert(new __helpers.CSSHelp(document).getStyle('#sheet'));
```
Your `#sheet` selector should have a `text-align` property set to `left`.
```js
assert(new __helpers.CSSHelp(document).getStyle('#sheet')?.textAlign === 'left');
```
Your `#sheet` selector should have a `max-width` property set to `500px`.
```js
assert(new __helpers.CSSHelp(document).getStyle('#sheet')?.maxWidth === '500px');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
--fcc-editable-region--
--fcc-editable-region--
```

View File

@ -0,0 +1,132 @@
---
id: 6193f7074ca69153347fbc3a
title: Step 29
challengeType: 0
dashedName: step-29
---
# --description--
Your sheet has shifted back to the left side of the page, because you applied a fixed width. To resolve this, give your `#sheet` selector a `margin` property set to `auto`.
# --hints--
Your `#sheet` selector should have a `margin` property set to `auto`.
```js
assert(new __helpers.CSSHelp(document).getStyle('#sheet')?.margin === 'auto');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
--fcc-editable-region--
#sheet {
text-align: left;
max-width: 500px;
}
--fcc-editable-region--
```

View File

@ -0,0 +1,139 @@
---
id: 6193f74b982e4c5449f51a47
title: Step 30
challengeType: 0
dashedName: step-30
---
# --description--
To make your sheet stand out from the page, you'll want to give it a border. Give the `#sheet` selector a `padding` property set to `10px` to create space between the content and the border, then give it a `border` property set to `2px solid #d0d0d5`.
# --hints--
Your `#sheet` selector should have a `padding` property set to `10px`.
```js
assert(new __helpers.CSSHelp(document).getStyle('#sheet')?.padding === '10px');
```
Your `#sheet` selector should have a `border` property set to `2px solid #d0d0d5`.
```js
assert(new __helpers.CSSHelp(document).getStyle('#sheet')?.border === '2px solid rgb(208, 208, 213)');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
--fcc-editable-region--
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
}
--fcc-editable-region--
```

View File

@ -0,0 +1,143 @@
---
id: 6193f7904dc7ee554d12571f
title: Step 31
challengeType: 0
dashedName: step-31
---
# --description--
The `AcmeWidgetCorp` text should be a bit smaller. Create a `#header h2` selector to target only the `h2` elements within your `#header` element, and give it a `font-size` property set to `1.3em`.
# --hints--
You should have a new `header h2` selector.
```js
assert(new __helpers.CSSHelp(document).getStyle('#header h2'));
```
Your `header h2` selector should have a `font-size` property set to `1.3em`.
```js
assert(new __helpers.CSSHelp(document).getStyle('#header h2')?.fontSize === '1.3em');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
--fcc-editable-region--
--fcc-editable-region--
```

View File

@ -0,0 +1,153 @@
---
id: 6193f85ab1de4356da678090
title: Step 32
challengeType: 0
dashedName: step-32
---
# --description--
Now you need to align the text content of your sheet so that it appears in columns. Start with a `.row` selector to target all of your elements that have the balance values in them. Give this selector a `display` property set to `flex`, and a `justify-content` property set to `flex-end`.
# --hints--
You should have a new `.row` selector.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row'));
```
Your `.row` selector should have a `display` property set to `flex`.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row')?.display === 'flex');
```
Your `.row` selector should have a `justify-content` property set to `flex-end`.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row')?.justifyContent === 'flex-end');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
}
--fcc-editable-region--
--fcc-editable-region--
```

View File

@ -0,0 +1,160 @@
---
id: 6193fa3224d7465850407d3d
title: Step 33
challengeType: 0
dashedName: step-33
---
# --description--
The `flex-end` setting has also brought your row's description text to the right of the element. To fix this, create a `.name` selector and give it a `width` property of `100%`, and a `text-align` property of `left`.
Because you're using `flex`, this tells your `.name` elements to take up 100% of the remaining available width, which allows the text to move to the left.
# --hints--
You should have a new `.name` selector.
```js
assert(new __helpers.CSSHelp(document).getStyle('.name'));
```
Your `.name` selector should have a `width` property set to `100%`.
```js
assert(new __helpers.CSSHelp(document).getStyle('.name')?.width === '100%');
```
Your `.name` selector should have a `text-align` property set to `left`.
```js
assert(new __helpers.CSSHelp(document).getStyle('.name')?.textAlign === 'left');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
}
.row {
display: flex;
justify-content: flex-end;
}
--fcc-editable-region--
--fcc-editable-region--
```

View File

@ -0,0 +1,165 @@
---
id: 6193fb8bef24145b57fbed00
title: Step 34
challengeType: 0
dashedName: step-34
---
# --description--
Now you'll need to adjust the layout of the dollar values. The CSS `:not()` selector allows you to target all elements matching a given selector *except* those which match the selector you provide within the `:not()`.
Create a `span:not(.name)` selector to target all of your `span` elements except those with the `class` set to `name`. Give it a `margin-left` property set to `10px` and a `min-width` property set to `15%`.
# --hints--
You should have a new `span:not(.name)` selector.
```js
assert(new __helpers.CSSHelp(document).getStyle('span:not(.name)'));
```
Your `span:not(.name)` selector should have a `margin-left` property set to `10px`.
```js
assert(new __helpers.CSSHelp(document).getStyle('span:not(.name)')?.marginLeft === '10px');
```
Your `span:not(.name)` selector should have a `min-width` property set to `15%`.
```js
assert(new __helpers.CSSHelp(document).getStyle('span:not(.name)')?.minWidth === '15%');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
}
.row {
display: flex;
justify-content: flex-end;
}
--fcc-editable-region--
--fcc-editable-region--
.name {
width: 100%;
text-align: left;
}
```

View File

@ -0,0 +1,154 @@
---
id: 6193fd22d907385efadb59c9
title: Step 35
challengeType: 0
dashedName: step-35
---
# --description--
The text does not look quite right. Typically, in an accounting sheet, the numeric columns are justified to the right. Give your `span:not(.name)` selector a `text-align` property set to `right`.
# --hints--
Your `span:not(.name)` selector should have a `text-align` property set to `right`.
```js
assert(new __helpers.CSSHelp(document).getStyle('span:not(.name)')?.textAlign === 'right');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
}
.row {
display: flex;
justify-content: flex-end;
}
--fcc-editable-region--
span:not(.name) {
margin-left: 10px;
min-width: 15%;
}
--fcc-editable-region--
.name {
width: 100%;
text-align: left;
}
```

View File

@ -0,0 +1,163 @@
---
id: 6193fe24beedd361f34f8e96
title: Step 36
challengeType: 0
dashedName: step-36
---
# --description--
CSS has an `[attribute=value]` selector which allows you to target any element where an attribute has a specific value. Create a `span[class="current"]` selector to target all of your `span` elements where the `class` is set to `current`. Give it a `font-style` property set to `italic`.
# --hints--
You should have a new `span[class="current"]` selector.
```js
assert(new __helpers.CSSHelp(document).getStyle('span[class="current"]'));
```
Your `span[class="current"]` selector should have a `font-style` property set to `italic`.
```js
assert(new __helpers.CSSHelp(document).getStyle('span[class="current"]')?.fontStyle === 'italic');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
}
.row {
display: flex;
justify-content: flex-end;
}
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
--fcc-editable-region--
--fcc-editable-region--
.name {
width: 100%;
text-align: left;
}
```

View File

@ -0,0 +1,161 @@
---
id: 6193febd52ffb76345956072
title: Step 37
challengeType: 0
dashedName: step-37
---
# --description--
The rows on your sheet are difficult to read. You'll need to create some visual distinction to help your readers understand the document flow.
Start by giving your `.row` selector a `border-bottom` property set to `1px solid #0a0a23`.
# --hints--
Your `.row` selector should have a `border-bottom` property set to `1px solid #0a0a23`.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row')?.borderBottom === '1px solid rgb(10, 10, 35)');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
}
--fcc-editable-region--
.row {
display: flex;
justify-content: flex-end;
}
--fcc-editable-region--
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
```

View File

@ -0,0 +1,160 @@
---
id: 6193ff2b1198596496b81450
title: Step 38
challengeType: 0
dashedName: step-38
---
# --description--
The new border is very close to the text in your rows. Give your `.row` selector a `padding` property set to `4px` to add extra spacing around your text.
# --hints--
Your `.row` selector should have a `padding` property set to `4px`.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row')?.padding === '4px');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
}
--fcc-editable-region--
.row {
display: flex;
justify-content: flex-end;
border-bottom: 1px solid #0a0a23;
}
--fcc-editable-region--
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
```

View File

@ -0,0 +1,172 @@
---
id: 6193ff6c2a6138658b4ce2af
title: Step 39
challengeType: 0
dashedName: step-39
---
# --description--
Your rows need some background color to help differentiate the data.
The `:nth-child()` selector allows you to target elements based on their position in a group of sibling elements. Create a `.row:nth-child(odd)` selector to target all `.row` elements that are an odd child (child 1, child 3, etc). Give this selector a `background-color` property set to `#dfdfe2`.
# --hints--
You should have a new `.row:nth-child(odd)` selector.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row:nth-child(2n+1)'));
```
Your `.row:nth-child(odd)` selector should have a `background-color` property set to `#dfdfe2`.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row:nth-child(2n+1)')?.backgroundColor === 'rgb(223, 223, 226)');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
}
--fcc-editable-region--
--fcc-editable-region--
.row {
display: flex;
justify-content: flex-end;
border-bottom: 1px solid #0a0a23;
padding: 4px;
}
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
```

View File

@ -0,0 +1,180 @@
---
id: 6194034278b71f6940a50d91
title: Step 40
challengeType: 0
dashedName: step-40
---
# --description--
You'll notice that this change has made all of your `.row` elements have the new background color. This is because the `nth-child()` selector looks at the position relative to all element siblings.
The `nth-of-type()` selector, however, looks at an element's position relative only to the elements matching the selector in the sibling group. Change your `.row:nth-child(odd)` selector to be `.row:nth-of-type(odd)`, and you should see the difference.
# --hints--
You should change your selector to be `.row:nth-of-type(odd)`.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row:nth-of-type(2n+1)'));
```
You should not have a `.row:nth-child(odd)` selector.
```js
assert(!new __helpers.CSSHelp(document).getStyle('.row:nth-child(2n+1)'));
```
Your `.row:nth-of-type(odd)` selector should have a `background-color` property set to `#dfdfe2`.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row:nth-of-type(2n+1)')?.backgroundColor === 'rgb(223, 223, 226)');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
}
--fcc-editable-region--
.row:nth-child(odd) {
background-color: #dfdfe2;
}
--fcc-editable-region--
.row {
display: flex;
justify-content: flex-end;
border-bottom: 1px solid #0a0a23;
padding: 4px;
}
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
```

View File

@ -0,0 +1,173 @@
---
id: 619403dacf51db6a79b47b52
title: Step 41
challengeType: 0
dashedName: step-41
---
# --description--
Now target your even `.row` elements using another `:nth-of-type()` selector, and give them a `background-color` property set to `#d0d0d5`.
# --hints--
You should have a new `.row:nth-of-type(even)` selector.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row:nth-of-type(2n)'));
```
Your `.row:nth-of-type(even)` selector should have a `background-color` property set to `#d0d0d5`.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row:nth-of-type(2n)')?.backgroundColor === 'rgb(208, 208, 213)');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
}
.row:nth-of-type(odd) {
background-color: #dfdfe2;
}
--fcc-editable-region--
--fcc-editable-region--
.row {
display: flex;
justify-content: flex-end;
border-bottom: 1px solid #0a0a23;
padding: 4px;
}
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
```

View File

@ -0,0 +1,185 @@
---
id: 6194079d7cbf586eba9539ff
title: Step 42
challengeType: 0
dashedName: step-42
---
# --description--
Your last `.row` element in each section should stand out, as this is your "total" row. The `:last-child` selector allows you to target the matching element that is the final child in a group of siblings.
Create a `.row:last-child` selector and give it a `background-color` property set to `transparent`. Also set the `margin-bottom` property to `30px` to create some extra space between your sections.
# --hints--
You should have a new `.row:last-child` selector.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row:last-child'));
```
Your `.row:last-child` selector should have a `background-color` property set to `transparent`.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row:last-child')?.backgroundColor === 'transparent');
```
Your `.row:last-child` selector should have a `margin-bottom` property set to `30px`.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row:last-child')?.marginBottom === '30px');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
}
.row:nth-of-type(odd) {
background-color: #dfdfe2;
}
.row:nth-of-type(even) {
background-color: #d0d0d5;
}
--fcc-editable-region--
--fcc-editable-region--
.row {
display: flex;
justify-content: flex-end;
border-bottom: 1px solid #0a0a23;
padding: 4px;
}
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
```

View File

@ -0,0 +1,184 @@
---
id: 619409a3b1ec0b727ac2ab30
title: Step 43
challengeType: 0
dashedName: step-43
---
# --description--
The `[attribute~=value]` selector allows you to target elements where the attribute *includes* the value. Create a `p[class~="total"]` selector to target all of your `p` elements where the `class` includes `total` (such as your `.row total` elements). Give this selector a `border-bottom` property set to `4px double #0a0a23` to help divide your sections, and set the `font-weight` to `bold` to draw attention to them.
This may seem the same as using the `.total` class selector. However, CSS is parsed top-down. Your `.row` selector comes after this new selector, and would overwrite the `.total` selector. Because `p[class~="total"]` has a higher <dfn>selector specificity</dfn>, it takes priority even though it comes earlier in the stylesheet.
# --hints--
You should have a new `p[class~="total"]` selector.
```js
assert(new __helpers.CSSHelp(document).getStyle('p[class~="total"]'));
```
Your `p[class~="total"]` selector should have a `border-bottom` property set to `4px double #0a0a23`.
```js
assert(new __helpers.CSSHelp(document).getStyle('p[class~="total"]')?.borderBottom === '4px double rgb(10, 10, 35)');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
}
.row:nth-of-type(odd) {
background-color: #dfdfe2;
}
.row:nth-of-type(even) {
background-color: #d0d0d5;
}
.row:last-child {
background-color: transparent;
margin-bottom: 30px;
}
--fcc-editable-region--
--fcc-editable-region--
.row {
display: flex;
justify-content: flex-end;
border-bottom: 1px solid #0a0a23;
padding: 4px;
}
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
```

View File

@ -0,0 +1,189 @@
---
id: 61940bfdc4e2a874af766567
title: Step 44
challengeType: 0
dashedName: step-44
---
# --description--
Arguably the most important part of a balance sheet is the totals. You want to be able to quickly cycle through the total values on your sheet. This can be achieved by using the `tabindex` attribute. Give each of your `.row total` elements a `tabindex` attribute set to `1`.
It is important to note here that adjusting the `tabindex` value in this way can negatively affect the accessibility of your page, as it changes the flow of the document for assistive devices such as screen readers.
# --hints--
Each of your `.row total` elements should have a `tabindex` attribute set to `1`.
```js
const rows = [...document.querySelectorAll('.row.total')];
assert(rows?.every(row => row.getAttribute('tabindex') === '1'));
```
You should not set the `tabindex` on any other elements.
```js
const elements = [...document.querySelectorAll('*[tabindex]')];
assert(elements?.every(element => element.classList.contains('row') && element.classList.contains('total')));
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
--fcc-editable-region--
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
--fcc-editable-region--
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
}
.row:nth-of-type(odd) {
background-color: #dfdfe2;
}
.row:nth-of-type(even) {
background-color: #d0d0d5;
}
.row:last-child {
background-color: transparent;
margin-bottom: 30px;
}
p[class~="total"] {
border-bottom: 4px double #0a0a23;
font-weight: bold;
}
.row {
display: flex;
justify-content: flex-end;
border-bottom: 1px solid #0a0a23;
padding: 4px;
}
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
```

View File

@ -0,0 +1,187 @@
---
id: 61940e95c95cff77d0b2a310
title: Step 45
challengeType: 0
dashedName: step-45
---
# --description--
The `[attribute]` selector allows you to target elements that have *any* value set for the given attribute. Create a `.row[tabindex]:hover` selector to target your `.row` elements which have a specific `tabindex` value. Give that selector a `background-color` property of `#99c9ff`.
# --hints--
You should have a new `.row[tabindex]:hover` selector.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row[tabindex]:hover'));
```
Your `.row[tabindex]:hover` selector should have a `background-color` property set to `#99c9ff`.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row[tabindex]:hover')?.backgroundColor === 'rgb(153, 201, 255)');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
}
.row:nth-of-type(odd) {
background-color: #dfdfe2;
}
.row:nth-of-type(even) {
background-color: #d0d0d5;
}
.row:last-child {
background-color: transparent;
margin-bottom: 30px;
}
p[class~="total"] {
border-bottom: 4px double #0a0a23;
font-weight: bold;
}
.row {
display: flex;
justify-content: flex-end;
border-bottom: 1px solid #0a0a23;
padding: 4px;
}
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
--fcc-editable-region--
--fcc-editable-region--
```

View File

@ -0,0 +1,199 @@
---
id: 61940f551fa4db7967451be9
title: Step 46
challengeType: 0
dashedName: step-46
---
# --description--
You can see your changes when you hover over a total row, but it does not apply when you tab to them. An element that has been targeted by the tab key (or a mouse click) can be styled using the `:active` selector.
Create a `.row[tabindex]:focus` selector, and give it a `background-color` property set to `#198eee` and a `color` property set to `white`. Then try experimenting with hovering and clicking on your rows.
# --hints--
You should have a new `.row[tabindex]:focus` selector.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row[tabindex]:focus'));
```
Your `.row[tabindex]:focus` selector should have a `background-color` property set to `#198eee`.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row[tabindex]:focus')?.backgroundColor === 'rgb(25, 142, 238)');
```
Your `.row[tabindex]:focus` selector should have a `color` property set to `white`.
```js
assert(new __helpers.CSSHelp(document).getStyle('.row[tabindex]:focus')?.color === 'white');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
}
.row:nth-of-type(odd) {
background-color: #dfdfe2;
}
.row:nth-of-type(even) {
background-color: #d0d0d5;
}
.row:last-child {
background-color: transparent;
margin-bottom: 30px;
}
p[class~="total"] {
border-bottom: 4px double #0a0a23;
font-weight: bold;
}
.row {
display: flex;
justify-content: flex-end;
border-bottom: 1px solid #0a0a23;
padding: 4px;
}
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
.row[tabindex]:hover {
background-color: #99c9ff;
}
--fcc-editable-region--
--fcc-editable-region--
```

View File

@ -0,0 +1,193 @@
---
id: 6194108c6951ca7cae9596bd
title: Step 47
challengeType: 0
dashedName: step-47
---
# --description--
The `elem1 > elem2` selector allows you to target all `elem2` elements that are a direct child of an `elem1` element.
Create a `div > h2` rule to target all of your `h2` elements that are a direct child of a `div` element. Give the selector a `background-color` property set to `#99c9ff`.
# --hints--
You should have a new `div > h2` selector.
```js
assert(new __helpers.CSSHelp(document).getStyle('div > h2'));
```
Your `div > h2` selector should have a `background-color` property set to `#99c9ff`.
```js
assert(new __helpers.CSSHelp(document).getStyle('div > h2')?.backgroundColor === 'rgb(153, 201, 255)');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
}
.row:nth-of-type(odd) {
background-color: #dfdfe2;
}
.row:nth-of-type(even) {
background-color: #d0d0d5;
}
.row:last-child {
background-color: transparent;
margin-bottom: 30px;
}
p[class~="total"] {
border-bottom: 4px double #0a0a23;
font-weight: bold;
}
.row {
display: flex;
justify-content: flex-end;
border-bottom: 1px solid #0a0a23;
padding: 4px;
}
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
.row[tabindex]:hover {
background-color: #99c9ff;
}
--fcc-editable-region--
--fcc-editable-region--
```

View File

@ -0,0 +1,187 @@
---
id: 619410f7040d427d9c782db7
title: Step 48
challengeType: 0
dashedName: step-48
---
# --description--
You may have noticed that this affected your `AcmeWidgetCorp` text as well, because it is a direct child of a `div` element. Give your `#header h2` selector a `background` property set to `transparent` to fix this.
# --hints--
Your `#header h2` selector should have a `background` property set to `transparent`.
```js
assert(new __helpers.CSSHelp(document).getStyle('#header h2')?.backgroundColor === 'transparent');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
--fcc-editable-region--
#header h2 {
font-size: 1.3em;
}
--fcc-editable-region--
.row:nth-of-type(odd) {
background-color: #dfdfe2;
}
.row:nth-of-type(even) {
background-color: #d0d0d5;
}
.row:last-child {
background-color: transparent;
margin-bottom: 30px;
}
p[class~="total"] {
border-bottom: 4px double #0a0a23;
font-weight: bold;
}
.row {
display: flex;
justify-content: flex-end;
border-bottom: 1px solid #0a0a23;
padding: 4px;
}
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
.row[tabindex]:hover {
background-color: #99c9ff;
}
div > h2 {
background-color: #99c9ff;
}
```

View File

@ -0,0 +1,194 @@
---
id: 6194114534b4547e5177cb2a
title: Step 49
challengeType: 0
dashedName: step-49
---
# --description--
Your row headers still need a bit of adjustment. Give your `div > h2` selector a `font-size` property set to `1.3em` and a `padding` property set to `0 4px`.
# --hints--
Your `div > h2` selector should have a `font-size` property set to `1.3em`.
```js
assert(new __helpers.CSSHelp(document).getStyle('div > h2')?.fontSize === '1.3em');
```
Your `div > h2` selector should have a `padding` property set to `0 4px`.
```js
assert(new __helpers.CSSHelp(document).getStyle('div > h2')?.padding === '0px 4px');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
background: transparent;
}
.row:nth-of-type(odd) {
background-color: #dfdfe2;
}
.row:nth-of-type(even) {
background-color: #d0d0d5;
}
.row:last-child {
background-color: transparent;
margin-bottom: 30px;
}
p[class~="total"] {
border-bottom: 4px double #0a0a23;
font-weight: bold;
}
.row {
display: flex;
justify-content: flex-end;
border-bottom: 1px solid #0a0a23;
padding: 4px;
}
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
.row[tabindex]:hover {
background-color: #99c9ff;
}
--fcc-editable-region--
div > h2 {
background-color: #99c9ff;
}
--fcc-editable-region--
```

View File

@ -0,0 +1,200 @@
---
id: 619412990eaf9c80415b280d
title: Step 50
challengeType: 0
dashedName: step-50
---
# --description--
The `elem1 ~ elem2` selector will target `elem2` elements where they are preceded by an `elem1` element. This means that any `elem2` element which has a sibling `elem1` somewhere *before* it within the same parent will be targeted.
Create a `div ~ h2` selector to target all of your `h2` elements except the first (as it does not have a `div` element as a sibling). Give this new selector a `font-weight` property set to `normal`, to make your section text a bit less obtrusive.
# --hints--
You should have a new `div ~ h2` selector.
```js
assert(new __helpers.CSSHelp(document).getStyle('div ~ h2'));
```
Your `div ~ h2` selector should have a `font-weight` property set to `normal`.
```js
assert(new __helpers.CSSHelp(document).getStyle('div ~ h2')?.fontWeight === 'normal');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
background: transparent;
}
.row:nth-of-type(odd) {
background-color: #dfdfe2;
}
.row:nth-of-type(even) {
background-color: #d0d0d5;
}
.row:last-child {
background-color: transparent;
margin-bottom: 30px;
}
p[class~="total"] {
border-bottom: 4px double #0a0a23;
font-weight: bold;
}
.row {
display: flex;
justify-content: flex-end;
border-bottom: 1px solid #0a0a23;
padding: 4px;
}
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
.row[tabindex]:hover {
background-color: #99c9ff;
}
div > h2 {
background-color: #99c9ff;
font-size: 1.3em;
padding: 0 4px;
}
--fcc-editable-region--
--fcc-editable-region--
```

View File

@ -0,0 +1,202 @@
---
id: 6194135942d5e08174b8bab1
title: Step 51
challengeType: 0
dashedName: step-51
---
# --description--
Finally, the `elem1 + elem2` selector will target each `elem2` element that comes immediately after an `elem1` element. The notes in the balance sheet stand out too much - create a `p + span` selector to target them, and set the `font-size` property to `0.8em`.
# --hints--
You should have a new `p + span` selector.
```js
assert(new __helpers.CSSHelp(document).getStyle('p + span'));
```
Your `p + span` selector should have a `font-size` property set to `0.8em`.
```js
assert(new __helpers.CSSHelp(document).getStyle('p + span')?.fontSize === '0.8em');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
background: transparent;
}
.row:nth-of-type(odd) {
background-color: #dfdfe2;
}
.row:nth-of-type(even) {
background-color: #d0d0d5;
}
.row:last-child {
background-color: transparent;
margin-bottom: 30px;
}
p[class~="total"] {
border-bottom: 4px double #0a0a23;
font-weight: bold;
}
.row {
display: flex;
justify-content: flex-end;
border-bottom: 1px solid #0a0a23;
padding: 4px;
}
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
.row[tabindex]:hover {
background-color: #99c9ff;
}
div > h2 {
background-color: #99c9ff;
font-size: 1.3em;
padding: 0 4px;
}
div ~ h2 {
font-weight: normal;
}
--fcc-editable-region--
--fcc-editable-region--
```

View File

@ -0,0 +1,384 @@
---
id: 619413f5c1218b82b7b56a60
title: Step 52
challengeType: 0
dashedName: step-52
---
# --description--
For the final bit of styling, give the `p + span` selector a `font-style` set to `italic`, and a `color` set to `#3b3b4f`.
With that, you have successfully completed your balance sheet.
# --hints--
Your `p + span` selector should have a `font-style` property set to `italic`.
```js
assert(new __helpers.CSSHelp(document).getStyle('p + span')?.fontStyle === 'italic');
```
Your `p + span` selector should have a `color` property set to `#3b3b4f`.
```js
assert(new __helpers.CSSHelp(document).getStyle('p + span')?.color === 'rgb(59, 59, 79)');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
background: transparent;
}
.row:nth-of-type(odd) {
background-color: #dfdfe2;
}
.row:nth-of-type(even) {
background-color: #d0d0d5;
}
.row:last-child {
background-color: transparent;
margin-bottom: 30px;
}
p[class~="total"] {
border-bottom: 4px double #0a0a23;
font-weight: bold;
}
.row {
display: flex;
justify-content: flex-end;
border-bottom: 1px solid #0a0a23;
padding: 4px;
}
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
.row[tabindex]:hover {
background-color: #99c9ff;
}
div > h2 {
background-color: #99c9ff;
font-size: 1.3em;
padding: 0 4px;
}
div ~ h2 {
font-weight: normal;
}
--fcc-editable-region--
p + span {
font-size: 0.8em;
}
--fcc-editable-region--
```
## --solutions--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css" />
</head>
<body>
<div id="sheet">
<div id="header">
<h1>Balance Sheet</h1>
<h2>AcmeWidgetCorp</h2>
<p class="row">
<span>2019</span>
<span>2020</span>
<span class="current">2021</span>
</p>
</div>
<h2>Assets</h2>
<div class="section">
<p class="row">
<span class="name">Cash</span>
<span>$25</span>
<span>$30</span>
<span class="current">$28</span>
</p>
<span class="notes">This is the cash we currently have on hand.</span>
<p class="row">
<span class="name">Checking</span>
<span>$54</span>
<span>$56</span>
<span class="current">$53</span>
</p>
<span class="notes">Our primary transactional account.</span>
<p class="row">
<span class="name">Savings</span>
<span>$500</span>
<span>$650</span>
<span class="current">$728</span>
</p>
<span class="notes">Funds set aside for emergencies.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$579</span>
<span>$736</span>
<span class="current">$809</span>
</p>
</div>
<h2>Liabilities</h2>
<div class="section">
<p class="row">
<span class="name">Loans</span>
<span>$500</span>
<span>$250</span>
<span class="current">$0</span>
</p>
<span class="notes">The outstanding balance on our startup loan.</span>
<p class="row">
<span class="name">Expenses</span>
<span>$200</span>
<span>$300</span>
<span class="current">$400</span>
</p>
<span class="notes">Annual anticipated expenses, such as payroll.</span>
<p class="row">
<span class="name">Credit</span>
<span>$50</span>
<span>$50</span>
<span class="current">$75</span>
</p>
<span class="notes">The running balance on our line of credit.</span>
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$750</span>
<span>$600</span>
<span class="current">$475</span>
</p>
</div>
<h2>Net Worth</h2>
<div class="section">
<p class="row total" tabindex="1">
<span class="name">Total</span>
<span>$-171</span>
<span>$136</span>
<span class="current">$334</span>
</p>
</div>
</div>
<footer>Last Updated: December 2021</footer>
</body>
</html>
```
```css
body {
text-align: center;
font-family: Tahoma;
color: #0a0a23;
}
#sheet {
text-align: left;
max-width: 500px;
margin: auto;
padding: 10px;
border: 2px solid #d0d0d5;
}
#header h2 {
font-size: 1.3em;
background: transparent;
}
.row:nth-of-type(odd) {
background-color: #dfdfe2;
}
.row:nth-of-type(even) {
background-color: #d0d0d5;
}
.row:last-child {
background-color: transparent;
margin-bottom: 30px;
}
p[class~="total"] {
border-bottom: 4px double #0a0a23;
font-weight: bold;
}
.row {
display: flex;
justify-content: flex-end;
border-bottom: 1px solid #0a0a23;
padding: 4px;
}
span:not(.name) {
margin-left: 10px;
min-width: 15%;
text-align: right;
}
span[class="current"] {
font-style: italic;
}
.name {
width: 100%;
text-align: left;
}
.row[tabindex]:hover {
background-color: #99c9ff;
}
div > h2 {
background-color: #99c9ff;
font-size: 1.3em;
padding: 0 4px;
}
div ~ h2 {
font-weight: normal;
}
p + span {
font-size: 0.8em;
font-style: italic;
color: #3b3b4f;
}
```

View File

@ -32,5 +32,6 @@
"learn-css-grid-by-building-a-magazine": "Learn CSS Grid by Building a Magazine",
"learn-typography-by-building-a-nutrition-label": "Learn Typography by Building a Nutrition Label",
"learn-css-animation-by-building-a-ferris-wheel": "Learn CSS Animation by Building a Ferris Wheel",
"learn-accessibility-by-building-a-quiz": "Learn Accessibility by Building a Quiz"
"learn-accessibility-by-building-a-quiz": "Learn Accessibility by Building a Quiz",
"learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
}