# Modal JS

## A simple pop-up modal that you can trigger by toggling a class name.

Hello!

## Adding a modal

A modal consists of three parts:

    .modal
      | .modal-content
      | .modal-close

Visually, the `.modal` class creates the black background and frame for the content. The `.modal-content` is a white block containing what you want your modal to show. Finally, `.modal-close` is a close button. CSS does not insert the cross by itself; you need to add the `&times;` escape manually.

Please bear in mind that Magic is not packaged with any JS at all, so you will need to add some custom JavaScript to make modals appear and disappear.

To add the modal demonstrated above:

    <div class="modal">
      <div class="modal-content">
        <p>Hello!</p>
      </div>
      <button class="modal-close">&times;</button>
    </div>

### Advanced Modal

To add an advanced modal instead, try this:

# Modal

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vitae ex justo. Curabitur viverra non ipsum eget aliquam. Maecenas sed purus ac sem venenatis faucibus eget in odio. Aenean tempus mi in diam semper, sit amet eleifend sem pharetra. Curabitur sapien dui, pharetra id urna id, ornare rhoncus eros. Duis eget hendrerit ex. Sed ac imperdiet turpis, tristique dignissim metus. Phasellus vel tellus maximus, dictum sapien nec, malesuada tellus. Cras id tincidunt erat. Nulla vitae purus at enim pharetra pellentesque. Fusce eget dui nec justo consectetur facilisis et eget enim. Etiam blandit elit et eros gravida, sed consectetur arcu pellentesque. Pellentesque eu elit id neque consequat aliquet. Mauris et euismod purus.

Nullam auctor nulla turpis, at rutrum enim vehicula ultricies. Curabitur suscipit massa vulputate, sagittis ligula in, euismod massa. Nullam et nunc sit amet felis varius vulputate sit amet eu lorem. Pellentesque vel scelerisque enim, quis suscipit enim. Donec ornare nibh sed commodo tincidunt. Proin aliquet, justo sit amet congue lacinia, purus mauris blandit libero, eget faucibus nibh turpis dignissim lorem. Nullam vehicula viverra neque id volutpat. Phasellus sit amet enim et lorem lacinia sollicitudin. In congue mauris purus, eu fermentum nisi vestibulum vitae. Duis mollis ex ligula, sed tincidunt sem convallis vitae. Nulla et risus sed nisi vehicula rhoncus. Integer eu orci vel lectus consectetur dictum.

Proin eget justo et tortor aliquet tempor. Maecenas vel ornare ipsum. Fusce vulputate nulla non dictum commodo. Duis in scelerisque massa. Integer libero mauris, varius in ante a, lacinia aliquam orci. Maecenas congue, turpis id finibus imperdiet, velit massa blandit massa, ac mattis dolor magna quis arcu. Fusce tristique lectus eget urna tempus auctor. Proin ultrices turpis at massa tempus commodo. Fusce id fermentum metus, non hendrerit quam.

Sed malesuada pharetra sem. Nunc aliquet iaculis lacinia. Duis molestie sagittis odio sed sollicitudin. Nulla vel consectetur felis. Praesent id lectus hendrerit, rhoncus libero a, vulputate lorem. Curabitur lobortis interdum accumsan. Duis id nibh lacus. Donec metus risus, maximus non tortor sed, mattis mollis risus. In a mi dolor. Nullam consequat nisl euismod mauris pretium ullamcorper.

Duis eros lacus, faucibus a vulputate et, placerat at justo. Praesent id cursus lorem. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In molestie lacinia metus sit amet euismod. Quisque vestibulum ligula non neque auctor scelerisque. Ut convallis nec nisl vel imperdiet. Phasellus tempor viverra faucibus. Integer mattis imperdiet sollicitudin. Vestibulum nec fringilla lorem, nec accumsan lacus. Cras hendrerit est ut semper suscipit. Donec finibus, quam malesuada accumsan aliquet, est felis porta eros, ut interdum ipsum ante volutpat erat. Nulla interdum dolor vel tincidunt porttitor. Etiam ut interdum velit. Maecenas eget eleifend ipsum, eget suscipit lorem. Cras sodales, lorem vel congue iaculis, lorem neque pretium ipsum, nec dignissim urna sapien feugiat est. Etiam ullamcorper felis eget ante tincidunt, ac commodo justo fermentum.

Maecenas ac efficitur augue. Vestibulum tempus id quam quis sollicitudin. Aliquam ut mauris id neque congue efficitur. Mauris ultricies leo elit, ac eleifend nisl sodales ac. Proin vitae justo varius orci bibendum sollicitudin ultrices quis orci. Maecenas sapien nunc, fringilla dignissim convallis sit amet, tincidunt id lectus. Suspendisse potenti. In non lorem vel arcu commodo efficitur. Ut sed magna eu nunc porta mollis sit amet sed purus. Sed vitae auctor massa. Maecenas nulla risus, efficitur vitae metus a, euismod consectetur est.

Nunc aliquam, nisi in sollicitudin pulvinar, mauris risus lacinia massa, id tristique enim lacus a felis. Praesent convallis velit justo, id porttitor orci placerat vitae. Fusce eleifend vel tellus ac dapibus. Integer condimentum mi id dui vehicula, id porta risus rutrum. Aenean vel nisl ac libero scelerisque feugiat mattis lacinia urna. Vestibulum tristique quis risus a fringilla. Nulla ac velit mi. Fusce laoreet cursus lorem, in scelerisque mi fringilla ut. Nulla ultricies nisi at lorem accumsan, non molestie sem accumsan. Vivamus sollicitudin neque nisi, at vulputate elit suscipit a.

    <div class="modal">
      <div class="modal-adv">
        <div class="modal-adv-title">
          <h1 class="modal-adv-title-text">Modal</h1>
          <button class="modal-adv-title-close">&times;</button>
        </div>
        <div class="modal-adv-body">
          <p>Lorem ipsum dolor sit amet...</p>
        </div>
        <div class="modal-adv-footer">
          <button class="btn btn-green">Save</button>
          <button class="btn btn-dark">Cancel</button>
        </div>
      </div>
    </div>

### Toggling modals

To toggle modals, simply create some JavaScript that toggles the class active on the `<div class="modal">` element. When the class is present, the modal will be displayed; otherwise it will be hidden. Modals can be placed anywhere on the page.