Menu
Coddy logo textTech

Recap Challenge

Part of the Practical Frontend section of Coddy's HTML journey — lesson 16 of 35.

challenge icon

Challenge

Easy

You are given an HTML page about investing and financial freedom. Your task is to use what you’ve learned about theming:

  1. Primary & Secondary Colors
    • Define --primary-color and --secondary-color in :root.
    • Use --primary-color for the header and footer backgrounds, and --secondary-color for the body background.
  2. Dark Mode
    • Create a .dark-mode class that changes the background, text, and heading colors.
    • Test it by manually adding class="dark-mode" to <body>.
  3. Accent Color
    • Define --accent-color and use it for the button background color and footer link text color (rgb(249, 168, 37)).
  4. Typography
    • Define --h1-size and --h2-size and apply them to headings.

Goal: Make the page look consistent, professional, and easy to read in both light and dark themes.

Try it yourself

<!DOCTYPE html>
<html>
<head>
  <title>Recap Challenge</title>
  <style>
    /*  Theme variables */
    :root {
      --text-color: #333333;
      --heading-color: #1a3a6d;

      --primary-font: "Georgia", serif;
      --secondary-font: "Arial", sans-serif;
    }

    body {
      font-family: var(--primary-font);
      color: var(--text-color);
      margin: 0;
      line-height: 1.6;
    }

    header {
      color: white;
      text-align: center;
      padding: 2rem 1rem;
      background-color: #000000;
    }

    h1 {
      font-family: var(--secondary-font);
      margin-bottom: 0.5rem;
    }

    h2 {
      font-family: var(--secondary-font);
      color: var(--heading-color);
    }

    main {
      max-width: 800px;
      margin: 2rem auto;
      padding: 1rem;
    }

    section {
      margin-bottom: 2rem;
      background: #fff;
      padding: 1.5rem;
      border-radius: 8px;
      box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    }

    ul li {
      margin-bottom: 0.6rem;
    }

    button {
      background-color: #000000;
      color: white;
      border: none;
      padding: 0.75rem 1.5rem;
      font-size: 1rem;
      border-radius: 5px;
      cursor: pointer;
      transition: background 0.3s;
    }

    button:hover {
      background: #c17900;
    }

    footer {
      text-align: center;
      padding: 1rem;
      color: white;
      background-color: #000000;
    }

    a {
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
    }
  </style>
</head>
<body>
  <header>
    <h1>Financial Freedom</h1>
    <p>Smart habits for building wealth and living on your own terms.</p>
  </header>

  <main>
    <section>
      <h2>What is Financial Freedom?</h2>
      <p>Financial freedom means having enough savings, investments, and cash on hand to afford the lifestyle you want, without worrying about money day-to-day.</p>
    </section>

    <section>
      <h2>Timeless Investing Advice</h2>
      <ul>
        <li>Start early — the power of compounding works best with time.</li>
        <li>Live below your means and save consistently.</li>
        <li>Diversify your investments to reduce risk.</li>
        <li>Stay patient — avoid emotional decisions during market ups and downs.</li>
      </ul>
    </section>

    <section>
      <h2>Money Mindset</h2>
      <p>Money is less about numbers and more about behavior. Your mindset and habits matter more than chasing the highest returns.</p>
      <button>Learn More</button>
    </section>
  </main>

  <footer>
    <p>More resources on <a href="#">Investing & Financial Freedom</a></p>
  </footer>
</body>
</html>

All lessons in Practical Frontend