<html lang="en">
  <head>
    <meta charset="utf-8"/>
    <title>HTML5 controls: Task 1</title>
    <style>
      body {
        background-color: #fff;
        color: #333;
        font: 1em / 1.4 Helvetica Neue, Helvetica, Arial, sans-serif;
        padding: 1em;
        margin: 0;
      }

      * {
        box-sizing: border-box;
      }
      
      .wrapper {
        border: 1px solid #CCC;
        padding: 0 1em;
        margin-bottom: 1em;
        width: 400px;
      }
    </style>
  </head>

  <body>
<!--     Could also put in a <fieldset> here but styling looks off. -->
    <div class="wrapper">
    <form>
      <h2>Edit your preferences</h2>
      <ul>
        <li>
          <label for="e-mail">Email: </label>
          <input type="email" id="e-mail" name="e-mail" />

        </li>
        <li>
          <label for="website">Website: </label>
          <input type="url" id="website" name="website" />

        </li>
        <li>
          <label for="phone">Phone number: </label>
          <input type="tel" id="phone" name="phone" />

        </li>
        <li>
          <label for="fave-color">Favorite color: </label>
          <input type="color" name="fave-color" id="fave-color" />

        </li>
        <li>
          <button>Update preferences</button>
        </li>
      </ul>
    </form>
    </div>
    <div class="wrapper">
        <form>
      <ul>
        <li>
          <label for="max-invite">Select maximum number of invitations</label>
            <input
              type="range"
              name="max-invite"
              id="max-invite"
              min="1"
              max="30"
              step="1"
              value="3" />
            <output class="invite-output" for="max-invite"></output>
        </li>
        <li>
          <button>Submit</button>
        </li>
      </ul>
    </form>
        <script>
      const invite = document.querySelector('#max-invite');
      const output = document.querySelector('.invite-output');

      output.textContent = invite.value;

      invite.addEventListener('input', function() {
        output.textContent = invite.value;
      });
    </script>
    </div>
  </body>

</html>
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.