--- /dev/null
+;(function(){
+ 'use strict';
+
+ function show_modal () {
+ $('.modal').removeClass('hidden');
+ setTimeout(function (){
+ $('body').addClass('modal-open');
+ }, 20);
+ }
+
+ function hide_modal () {
+ $('body').removeClass('modal-open');
+ $('.modal').one('transitionend', function (){
+ $('.modal').addClass('hidden');
+ });
+ }
+
+ $( document ).ready(function() {
+ $('.backdrop,.modal').detach().appendTo('body');
+ $('#solution').on('click', function (e){
+ show_modal();
+ e.preventDefault();
+ });
+ $('.backdrop').on('click', hide_modal);
+ window.onkeyup = function (event) {
+ if (event.keyCode === 27)
+ hide_modal();
+ }
+ });
+})();