` with class container. It looks like we might have forgotten this closing tag earlier!
- Click off of the textbox. The browser will read and apply our changes to the DOM. *That's better! We now can see the footer!*
3. Last, let's look at the buttons below the "Web Design" and "Photography" sections. Neither looks like a button.
- You can either open arrows next to the elements in the DOM or right-click the link itself in the page view and choose "Inspect". This will highlight the `
` tag used for the link.
- For the "Web Portfolio" link, notice that the link has class "btn" but doesn't include the additional Bootstrap classes needed to complete the look and feel. Add the class `btn-info` by double-clicking in the value of the class attribute and adding it. *Remember: we can include multiple classes on an element by giving them as a space-separated list.*
- For the "Photography" link, notice that we also need more classes for Bootstrap's CSS to style it appropriately. We first need the button class `btn` as well as the color-styling class. Try adding both `btn` and `btn-danger`.
Things now seem to be back in order. The final version of the page is depicted below. Continue exploring the web developer tools, but note the changes we've made so that we can update our page's HTML and CSS. *The changes we made in the developer tools will be lost if we reload the page!*

**Note:** If you wish to download and use this starter page, you may save the HTML or "View Page Source" and copy/paste the HTML into a local file for testing.
## Create HTML with Bootstrap and LESS
Now that we've troubleshooted a page that was styled with Bootstrap, it's time to design our own. Review the Bootstrap documentation, if you haven't already. For this assignment, you are tasked with designing a home page for the site of your choice. You may re-design your page from Homework 2.
1. Design your web application's home page. You are encouraged to first draw the UI without coding or implementation to plan the site's organization.
2. Transform your drawing into HTML by creating an HTML file ( `.html` not `.htm` ) named `index.html`.
- You may download and use our [Bootstrap Example Starter File](../examples/blank-bootstrap.html).
- You are also welcome to begin with the starter file we looked at in the first part of the assignment, but you *should* fix the errors we found before continuing.
3. Include the following `` tags in the `` section of this `index.html`.
```html
```
5. Include a minimum of **5** additional Bootstrap components across the pages in your site. If you start with our example home page, choose 5 additional components to add for your design. As a subset of these components, you must have the following:
- A navigation bar. *Since this is an example site, you may include broken links or links to your other pages if you are redesigning Homework 1. You should have example items on your navigation bar that are relevant to your site topic.*
- Card with an image. *Note that you will need to upload your image to the server or link to a published image.*
- Accordion.
However, you are encouraged to use experiment with and include additional components.
7. In a comment at the top of your `index.html` page, **list the Bootstrap elements that you have added to your pages**.
6. Modify the Bootstrap styles by writing your own rules in LESS. You may use these to override the default Bootstrap styles or styling additional elements in your page. Include a separate LESS style file `custom.less` at the end of your home page's ``. This file must reside in a `styles/` subdirectory from your `index.html` page. You must also include the LESS JavaScript to parse the LESS; see the [LESS homepage](https://lesscss.org) for the code to include in your browser. Your LESS code should incorporate at least the following:
- One variable that is used in two or more rules
- One mixin that is used in two or more rules
- One set of rules containing nested selectors
## Deploy and Test your Web Page
You should deploy your website to verify that the design and layout matches your expectations. Therefore, you should deploy to your Docker development environment while actively developing. While HTML can be viewed directly in your browser, getting into a deployment habit will help as we begin to incorporate PHP, JavaScript, and other languages into our web applications.
For this assignment, you are required to publish your website to our course server, **cs4640**. Create a directory, `hw3`, under the `public_html` directory in your web space on **cs4640** and upload all of your HTML, CSS, LESS, and any image files. Once you have copied up your content, your page should be available at:
https://cs4640.cs.virginia.edu/yourid/hw3/
## Validate your HTML document
Producing valid HTML is helpful in ensuring a consistent view for all our users. For this homework, we will be using the [W3C Nu HTML Checker](https://validator.w3.org/nu/).
- Open the [HTML Validator](https://validator.w3.org/nu/) service. From here, you will have a few options to validate your `index.html` file.
- Check by address: If you have already published your site to our cs4640 server, you may enter the URL for your site: `https://cs4640.cs.virginia.edu/yourid/hw3/`
- Check by file upload: Upload your `index.html` file directly.
- Check by text input: Copy and paste your code from your IDE/text editor.
- Review the outputs available within the checker. At the top of the "Checker Input" box, check the outline and image report boxes to include additional information in the validation report.
- The image report shows all images used within your document. It breaks them into two categories: images that will be represented in text-only displays (with `alt` tags) and those that will not. Ensure that only decorative images are listed in the "No textual alternative available" section.
- The outline reports the structure of the document and whether it follows the heading hierarchy. For example, if you have used a `` without an ``, it will note that there are missing high-level headings in the heading-level outline. However, it also displays the structural outline based on the hierarchy of the headings available in your document.
- Once your document has passed validation, print the page to PDF and save the document as `validation.pdf`. You **must** submit this file with your code to Gradescope.
## Submission
The submission will consist of two parts:
1. Submit your code (HTML, CSS, LESS, PDF, etc) to Gradescope in the "Homework 3" submission. You may choose to upload the files individually, upload a zip folder, or upload from a GitHub repository.
2. Publish your web site to the **cs4640** server under a folder titled "hw3". Therefore, we should be able to access your work at `https://cs4640.cs.virginia.edu/yourid/hw3`. If you work with a partner, **each person** should publish the work to their web space.
## Grading Rubric
This homework is worth 50 points, based on the following rubric:
- 20 points - Use 5 *different* Bootstrap components (4 pts each)
- 15 points - LESS styles
- 10 points - HTML validation
- 5 points - Publishing your site to the cs4640 server
## Academic Integrity
For this assignment, you are welcome to share/publish your website! You'll be doing that on our **cs4640** server as well. We only ask that you not make any GitHub projects public until after the deadline.
**Note**: You must cite any sources you use in a comment at the top of your `index.html` file. For example:
```html
...
```