[[The Satire|Book][$imgSeven to "http://mazhemart.co.uk/Pa/face8.jpg"]]\n[[The Landlord|Book][$imgSeven to "http://mazhemart.co.uk/Pa/face7.jpg"]]\n[[The Vet|Book][$imgSeven to "http://mazhemart.co.uk/Pa/face6.jpg"]]\n[[The Governess|Book][$imgSeven to "http://mazhemart.co.uk/Pa/face5.jpg"]]\n[[The Listener|Book][$imgSeven to "http://mazhemart.co.uk/Pa/face4.jpg"]]\n[[The Receptionist|Book][$imgSeven to "http://mazhemart.co.uk/Pa/face3.jpg"]]\n[[The Widow|Book][$imgSeven to "http://mazhemart.co.uk/Pa/face2.jpg"]]\n[[The Gardener|Book][$imgSeven to "http://mazhemart.co.uk/Pa/face1.jpg"]]
<<print '<a class="popup-link" href="'+ $imgEight +'">'+'<img src="'+ $imgEight +'"></a>'>>\n<<popup ".popup-link">>
<<print '<a class="popup-link" href="'+ $imgFour +'">'+'<img src="'+ $imgFour +'"></a>'>>\n<<popup ".popup-link">>
[[first|Book][$imgTwo to "http://mazhemart.co.uk/Pa/two6.jpg"]]\n[[second|Book][$imgTwo to "http://mazhemart.co.uk/Pa/two5.jpg"]]\n[[third|Book][$imgTwo to "http://mazhemart.co.uk/Pa/two4point5.jpg"]]\n[[fourth|Book][$imgTwo to "http://mazhemart.co.uk/Pa/two4.jpg"]]\n[[fifth|Book][$imgTwo to "http://mazhemart.co.uk/Pa/two3.jpg"]]\n[[sixth|Book][$imgTwo to "http://mazhemart.co.uk/Pa/two2.jpg"]]\n[[final|Book][$imgTwo to "http://mazhemart.co.uk/Pa/two.jpg"]]
[[first|Book][$imgFour to "http://mazhemart.co.uk/Pa/four7.jpg"]]\n[[second|Book][$imgFour to "http://mazhemart.co.uk/Pa/four6.jpg"]]\n[[third|Book][$imgFour to "http://mazhemart.co.uk/Pa/four5.jpg"]]\n[[fourth|Book][$imgFour to "http://mazhemart.co.uk/Pa/four4.jpg"]]\n[[fifth|Book][$imgFour to "http://mazhemart.co.uk/Pa/four3.jpg"]]\n[[sixth|Book][$imgFour to "http://mazhemart.co.uk/Pa/four2.jpg"]]\n[[seventh|Book][$imgFour to "http://mazhemart.co.uk/Pa/four1.jpg"]]\n[[final|Book][$imgFour to "http://mazhemart.co.uk/Pa/four.jpg"]]
<<print '<a class="popup-link" href="'+ $imgone +'">'+'<img src="'+ $imgone +'"></a>'>>\n<<popup ".popup-link">>
<div id="Book"> <img src="http://mazhemart.co.uk/Pa/book_01.png" id="bookpage"/><<display "contents">></div>\n<div id="Pages"><span id="Left"><<display "Left">></span>\n<span id="Right"><<display "Right">></span>\n<<if $BeginningClick is false>><span id="Back">[[Beginning|Book][$displayLeft to "none", $BeginningClick to true]]</span>\n<<endif>>\n<link href="https://fonts.googleapis.com/css?family=Alegreya+SC|Gentium+Basic:400,700i" rel="stylesheet">\n</div>\n
<<nobr>>\n<span id="contents">\n<span id="one" class="contents">[img[http://mazhemart.co.uk/Pa/book_02.png][Book][$displayLeft to "one", $BeginningClick to false]]</span>\n\n<span id="two" class="contents">[img[http://mazhemart.co.uk/Pa/book_03.png][Book][$displayLeft to "two", $BeginningClick to false]]\n</span> \n<span id="three" class="contents">[img[http://mazhemart.co.uk/Pa/book_04.png][Book][$displayLeft to "three", $BeginningClick to false]]</span>\n <span id="four" class="contents">[img[http://mazhemart.co.uk/Pa/book_05.png][Book][$displayLeft to "four", $BeginningClick to false]]</span> \n<span id="five" class="contents">[img[http://mazhemart.co.uk/Pa/book_06.png][Book][$displayLeft to "five", $BeginningClick to false]]</span> \n<span id="six" class="contents">[img[http://mazhemart.co.uk/Pa/book_07.png][Book][$displayLeft to "six", $BeginningClick to false]]</span> \n<span id="seven" class="contents">[img[http://mazhemart.co.uk/Pa/book_08.png][Book][$displayLeft to "seven", $BeginningClick to false]]</span> \n<span id="eight" class="contents">[img[http://mazhemart.co.uk/Pa/book_09.png][Book][$displayLeft to "eight", $BeginningClick to false]]</span> \n</span>\n\n\n<</nobr>>
<<set $img = "http://mazhemart.co.uk/slide_arts/Art1.jpg">>\n<<print '<a class="popup-link" href="'+ $img +'">'+'<img src="'+ $img +'"></a>'>>\n<<popup ".popup-link">>
[[first|Book][$imgSix to "http://mazhemart.co.uk/Pa/six2.jpg"]]\n[[second|Book][$imgSix to "http://mazhemart.co.uk/Pa/six1.jpg"]]\n[[final|Book][$imgSix to "http://mazhemart.co.uk/Pa/six.jpg"]]
[[first|Book][$imgThree to "http://mazhemart.co.uk/Pa/three7.jpg"]]\n[[second|Book][$imgThree to "http://mazhemart.co.uk/Pa/three6.jpg"]]\n[[third|Book][$imgThree to "http://mazhemart.co.uk/Pa/three5.jpg"]]\n[[fourth|Book][$imgThree to "http://mazhemart.co.uk/Pa/three4.jpg"]]\n[[fifth|Book][$imgThree to "http://mazhemart.co.uk/Pa/three3.jpg"]]\n[[sixth|Book][$imgThree to "http://mazhemart.co.uk/Pa/three2.jpg"]]\n[[seventh|Book][$imgThree to "http://mazhemart.co.uk/Pa/three1.jpg"]]\n[[final|Book][$imgThree to "http://mazhemart.co.uk/Pa/three.jpg"]]
/**\n * \n * Magnific Popup Core JS file\n * \n */\n\n\n/**\n * Private static constants\n */\nvar CLOSE_EVENT = 'Close',\n\tBEFORE_CLOSE_EVENT = 'BeforeClose',\n\tAFTER_CLOSE_EVENT = 'AfterClose',\n\tBEFORE_APPEND_EVENT = 'BeforeAppend',\n\tMARKUP_PARSE_EVENT = 'MarkupParse',\n\tOPEN_EVENT = 'Open',\n\tCHANGE_EVENT = 'Change',\n\tNS = 'mfp',\n\tEVENT_NS = '.' + NS,\n\tREADY_CLASS = 'mfp-ready',\n\tREMOVING_CLASS = 'mfp-removing',\n\tPREVENT_CLOSE_CLASS = 'mfp-prevent-close';\n\n\n/**\n * Private vars \n */\nvar mfp, // As we have only one instance of MagnificPopup object, we define it locally to not to use 'this'\n\tMagnificPopup = function(){},\n\t_isJQ = !!(window.jQuery),\n\t_prevStatus,\n\t_window = $(window),\n\t_body,\n\t_document,\n\t_prevContentType,\n\t_wrapClasses,\n\t_currPopupType;\n\n\n/**\n * Private functions\n */\nvar _mfpOn = function(name, f) {\n\t\tmfp.ev.on(NS + name + EVENT_NS, f);\n\t},\n\t_getEl = function(className, appendTo, html, raw) {\n\t\tvar el = document.createElement('div');\n\t\tel.className = 'mfp-'+className;\n\t\tif(html) {\n\t\t\tel.innerHTML = html;\n\t\t}\n\t\tif(!raw) {\n\t\t\tel = $(el);\n\t\t\tif(appendTo) {\n\t\t\t\tel.appendTo(appendTo);\n\t\t\t}\n\t\t} else if(appendTo) {\n\t\t\tappendTo.appendChild(el);\n\t\t}\n\t\treturn el;\n\t},\n\t_mfpTrigger = function(e, data) {\n\t\tmfp.ev.triggerHandler(NS + e, data);\n\n\t\tif(mfp.st.callbacks) {\n\t\t\t// converts "mfpEventName" to "eventName" callback and triggers it if it's present\n\t\t\te = e.charAt(0).toLowerCase() + e.slice(1);\n\t\t\tif(mfp.st.callbacks[e]) {\n\t\t\t\tmfp.st.callbacks[e].apply(mfp, $.isArray(data) ? data : [data]);\n\t\t\t}\n\t\t}\n\t},\n\t_getCloseBtn = function(type) {\n\t\tif(type !== _currPopupType || !mfp.currTemplate.closeBtn) {\n\t\t\tmfp.currTemplate.closeBtn = $( mfp.st.closeMarkup.replace('%title%', mfp.st.tClose ) );\n\t\t\t_currPopupType = type;\n\t\t}\n\t\treturn mfp.currTemplate.closeBtn;\n\t},\n\t// Initialize Magnific Popup only when called at least once\n\t_checkInstance = function() {\n\t\tif(!$.magnificPopup.instance) {\n\t\t\tmfp = new MagnificPopup();\n\t\t\tmfp.init();\n\t\t\t$.magnificPopup.instance = mfp;\n\t\t}\n\t},\n\t// CSS transition detection, http://stackoverflow.com/questions/7264899/detect-css-transitions-using-javascript-and-without-modernizr\n\tsupportsTransitions = function() {\n\t\tvar s = document.createElement('p').style, // 's' for style. better to create an element if body yet to exist\n\t\t\tv = ['ms','O','Moz','Webkit']; // 'v' for vendor\n\n\t\tif( s['transition'] !== undefined ) {\n\t\t\treturn true; \n\t\t}\n\t\t\t\n\t\twhile( v.length ) {\n\t\t\tif( v.pop() + 'Transition' in s ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t\t\t\n\t\treturn false;\n\t};\n\n\n\n/**\n * Public functions\n */\nMagnificPopup.prototype = {\n\n\tconstructor: MagnificPopup,\n\n\t/**\n\t * Initializes Magnific Popup plugin. \n\t * This function is triggered only once when $.fn.magnificPopup or $.magnificPopup is executed\n\t */\n\tinit: function() {\n\t\tvar appVersion = navigator.appVersion;\n\t\tmfp.isIE7 = appVersion.indexOf("MSIE 7.") !== -1; \n\t\tmfp.isIE8 = appVersion.indexOf("MSIE 8.") !== -1;\n\t\tmfp.isLowIE = mfp.isIE7 || mfp.isIE8;\n\t\tmfp.isAndroid = (/android/gi).test(appVersion);\n\t\tmfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion);\n\t\tmfp.supportsTransition = supportsTransitions();\n\n\t\t// We disable fixed positioned lightbox on devices that don't handle it nicely.\n\t\t// If you know a better way of detecting this - let me know.\n\t\tmfp.probablyMobile = (mfp.isAndroid || mfp.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent) );\n\t\t_body = $(document.body);\n\t\t_document = $(document);\n\n\t\tmfp.popupsCache = {};\n\t},\n\n\t/**\n\t * Opens popup\n\t * @param data [description]\n\t */\n\topen: function(data) {\n\n\t\tvar i;\n\n\t\tif(data.isObj === false) { \n\t\t\t// convert jQuery collection to array to avoid conflicts later\n\t\t\tmfp.items = data.items.toArray();\n\n\t\t\tmfp.index = 0;\n\t\t\tvar items = data.items,\n\t\t\t\titem;\n\t\t\tfor(i = 0; i < items.length; i++) {\n\t\t\t\titem = items[i];\n\t\t\t\tif(item.parsed) {\n\t\t\t\t\titem = item.el[0];\n\t\t\t\t}\n\t\t\t\tif(item === data.el[0]) {\n\t\t\t\t\tmfp.index = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tmfp.items = $.isArray(data.items) ? data.items : [data.items];\n\t\t\tmfp.index = data.index || 0;\n\t\t}\n\n\t\t// if popup is already opened - we just update the content\n\t\tif(mfp.isOpen) {\n\t\t\tmfp.updateItemHTML();\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tmfp.types = []; \n\t\t_wrapClasses = '';\n\t\tif(data.mainEl && data.mainEl.length) {\n\t\t\tmfp.ev = data.mainEl.eq(0);\n\t\t} else {\n\t\t\tmfp.ev = _document;\n\t\t}\n\n\t\tif(data.key) {\n\t\t\tif(!mfp.popupsCache[data.key]) {\n\t\t\t\tmfp.popupsCache[data.key] = {};\n\t\t\t}\n\t\t\tmfp.currTemplate = mfp.popupsCache[data.key];\n\t\t} else {\n\t\t\tmfp.currTemplate = {};\n\t\t}\n\n\n\n\t\tmfp.st = $.extend(true, {}, $.magnificPopup.defaults, data ); \n\t\tmfp.fixedContentPos = mfp.st.fixedContentPos === 'auto' ? !mfp.probablyMobile : mfp.st.fixedContentPos;\n\n\t\tif(mfp.st.modal) {\n\t\t\tmfp.st.closeOnContentClick = false;\n\t\t\tmfp.st.closeOnBgClick = false;\n\t\t\tmfp.st.showCloseBtn = false;\n\t\t\tmfp.st.enableEscapeKey = false;\n\t\t}\n\t\t\n\n\t\t// Building markup\n\t\t// main containers are created only once\n\t\tif(!mfp.bgOverlay) {\n\n\t\t\t// Dark overlay\n\t\t\tmfp.bgOverlay = _getEl('bg').on('click'+EVENT_NS, function() {\n\t\t\t\tmfp.close();\n\t\t\t});\n\n\t\t\tmfp.wrap = _getEl('wrap').attr('tabindex', -1).on('click'+EVENT_NS, function(e) {\n\t\t\t\tif(mfp._checkIfClose(e.target)) {\n\t\t\t\t\tmfp.close();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tmfp.container = _getEl('container', mfp.wrap);\n\t\t}\n\n\t\tmfp.contentContainer = _getEl('content');\n\t\tif(mfp.st.preloader) {\n\t\t\tmfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading);\n\t\t}\n\n\n\t\t// Initializing modules\n\t\tvar modules = $.magnificPopup.modules;\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar n = modules[i];\n\t\t\tn = n.charAt(0).toUpperCase() + n.slice(1);\n\t\t\tmfp['init'+n].call(mfp);\n\t\t}\n\t\t_mfpTrigger('BeforeOpen');\n\n\n\t\tif(mfp.st.showCloseBtn) {\n\t\t\t// Close button\n\t\t\tif(!mfp.st.closeBtnInside) {\n\t\t\t\tmfp.wrap.append( _getCloseBtn() );\n\t\t\t} else {\n\t\t\t\t_mfpOn(MARKUP_PARSE_EVENT, function(e, template, values, item) {\n\t\t\t\t\tvalues.close_replaceWith = _getCloseBtn(item.type);\n\t\t\t\t});\n\t\t\t\t_wrapClasses += ' mfp-close-btn-in';\n\t\t\t}\n\t\t}\n\n\t\tif(mfp.st.alignTop) {\n\t\t\t_wrapClasses += ' mfp-align-top';\n\t\t}\n\n\t\n\n\t\tif(mfp.fixedContentPos) {\n\t\t\tmfp.wrap.css({\n\t\t\t\toverflow: mfp.st.overflowY,\n\t\t\t\toverflowX: 'hidden',\n\t\t\t\toverflowY: mfp.st.overflowY\n\t\t\t});\n\t\t} else {\n\t\t\tmfp.wrap.css({ \n\t\t\t\ttop: _window.scrollTop(),\n\t\t\t\tposition: 'absolute'\n\t\t\t});\n\t\t}\n\t\tif( mfp.st.fixedBgPos === false || (mfp.st.fixedBgPos === 'auto' && !mfp.fixedContentPos) ) {\n\t\t\tmfp.bgOverlay.css({\n\t\t\t\theight: _document.height(),\n\t\t\t\tposition: 'absolute'\n\t\t\t});\n\t\t}\n\n\t\t\n\n\t\tif(mfp.st.enableEscapeKey) {\n\t\t\t// Close on ESC key\n\t\t\t_document.on('keyup' + EVENT_NS, function(e) {\n\t\t\t\tif(e.keyCode === 27) {\n\t\t\t\t\tmfp.close();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t_window.on('resize' + EVENT_NS, function() {\n\t\t\tmfp.updateSize();\n\t\t});\n\n\n\t\tif(!mfp.st.closeOnContentClick) {\n\t\t\t_wrapClasses += ' mfp-auto-cursor';\n\t\t}\n\t\t\n\t\tif(_wrapClasses)\n\t\t\tmfp.wrap.addClass(_wrapClasses);\n\n\n\t\t// this triggers recalculation of layout, so we get it once to not to trigger twice\n\t\tvar windowHeight = mfp.wH = _window.height();\n\n\t\t\n\t\tvar windowStyles = {};\n\n\t\tif( mfp.fixedContentPos ) {\n if(mfp._hasScrollBar(windowHeight)){\n var s = mfp._getScrollbarSize();\n if(s) {\n windowStyles.marginRight = s;\n }\n }\n }\n\n\t\tif(mfp.fixedContentPos) {\n\t\t\tif(!mfp.isIE7) {\n\t\t\t\twindowStyles.overflow = 'hidden';\n\t\t\t} else {\n\t\t\t\t// ie7 double-scroll bug\n\t\t\t\t$('body, html').css('overflow', 'hidden');\n\t\t\t}\n\t\t}\n\n\t\t\n\t\t\n\t\tvar classesToadd = mfp.st.mainClass;\n\t\tif(mfp.isIE7) {\n\t\t\tclassesToadd += ' mfp-ie7';\n\t\t}\n\t\tif(classesToadd) {\n\t\t\tmfp._addClassToMFP( classesToadd );\n\t\t}\n\n\t\t// add content\n\t\tmfp.updateItemHTML();\n\n\t\t_mfpTrigger('BuildControls');\n\n\n\t\t// remove scrollbar, add margin e.t.c\n\t\t$('html').css(windowStyles);\n\t\t\n\t\t// add everything to DOM\n\t\tmfp.bgOverlay.add(mfp.wrap).prependTo( document.body );\n\n\n\n\t\t// Save last focused element\n\t\tmfp._lastFocusedEl = document.activeElement;\n\t\t\n\t\t// Wait for next cycle to allow CSS transition\n\t\tsetTimeout(function() {\n\t\t\t\n\t\t\tif(mfp.content) {\n\t\t\t\tmfp._addClassToMFP(READY_CLASS);\n\t\t\t\tmfp._setFocus();\n\t\t\t} else {\n\t\t\t\t// if content is not defined (not loaded e.t.c) we add class only for BG\n\t\t\t\tmfp.bgOverlay.addClass(READY_CLASS);\n\t\t\t}\n\t\t\t\n\t\t\t// Trap the focus in popup\n\t\t\t_document.on('focusin' + EVENT_NS, mfp._onFocusIn);\n\n\t\t}, 16);\n\n\t\tmfp.isOpen = true;\n\t\tmfp.updateSize(windowHeight);\n\t\t_mfpTrigger(OPEN_EVENT);\n\n\t\treturn data;\n\t},\n\n\t/**\n\t * Closes the popup\n\t */\n\tclose: function() {\n\t\tif(!mfp.isOpen) return;\n\t\t_mfpTrigger(BEFORE_CLOSE_EVENT);\n\n\t\tmfp.isOpen = false;\n\t\t// for CSS3 animation\n\t\tif(mfp.st.removalDelay && !mfp.isLowIE && mfp.supportsTransition ) {\n\t\t\tmfp._addClassToMFP(REMOVING_CLASS);\n\t\t\tsetTimeout(function() {\n\t\t\t\tmfp._close();\n\t\t\t}, mfp.st.removalDelay);\n\t\t} else {\n\t\t\tmfp._close();\n\t\t}\n\t},\n\n\t/**\n\t * Helper for close() function\n\t */\n\t_close: function() {\n\t\t_mfpTrigger(CLOSE_EVENT);\n\n\t\tvar classesToRemove = REMOVING_CLASS + ' ' + READY_CLASS + ' ';\n\n\t\tmfp.bgOverlay.detach();\n\t\tmfp.wrap.detach();\n\t\tmfp.container.empty();\n\n\t\tif(mfp.st.mainClass) {\n\t\t\tclassesToRemove += mfp.st.mainClass + ' ';\n\t\t}\n\n\t\tmfp._removeClassFromMFP(classesToRemove);\n\n\t\tif(mfp.fixedContentPos) {\n\t\t\tvar windowStyles = {marginRight: ''};\n\t\t\tif(mfp.isIE7) {\n\t\t\t\t$('body, html').css('overflow', '');\n\t\t\t} else {\n\t\t\t\twindowStyles.overflow = '';\n\t\t\t}\n\t\t\t$('html').css(windowStyles);\n\t\t}\n\t\t\n\t\t_document.off('keyup' + EVENT_NS + ' focusin' + EVENT_NS);\n\t\tmfp.ev.off(EVENT_NS);\n\n\t\t// clean up DOM elements that aren't removed\n\t\tmfp.wrap.attr('class', 'mfp-wrap').removeAttr('style');\n\t\tmfp.bgOverlay.attr('class', 'mfp-bg');\n\t\tmfp.container.attr('class', 'mfp-container');\n\n\t\t// remove close button from target element\n\t\tif(mfp.st.showCloseBtn &&\n\t\t(!mfp.st.closeBtnInside || mfp.currTemplate[mfp.currItem.type] === true)) {\n\t\t\tif(mfp.currTemplate.closeBtn)\n\t\t\t\tmfp.currTemplate.closeBtn.detach();\n\t\t}\n\n\n\t\tif(mfp._lastFocusedEl) {\n\t\t\t$(mfp._lastFocusedEl).focus(); // put tab focus back\n\t\t}\n\t\tmfp.currItem = null;\t\n\t\tmfp.content = null;\n\t\tmfp.currTemplate = null;\n\t\tmfp.prevHeight = 0;\n\n\t\t_mfpTrigger(AFTER_CLOSE_EVENT);\n\t},\n\t\n\tupdateSize: function(winHeight) {\n\n\t\tif(mfp.isIOS) {\n\t\t\t// fixes iOS nav bars https://github.com/dimsemenov/Magnific-Popup/issues/2\n\t\t\tvar zoomLevel = document.documentElement.clientWidth / window.innerWidth;\n\t\t\tvar height = window.innerHeight * zoomLevel;\n\t\t\tmfp.wrap.css('height', height);\n\t\t\tmfp.wH = height;\n\t\t} else {\n\t\t\tmfp.wH = winHeight || _window.height();\n\t\t}\n\t\t// Fixes #84: popup incorrectly positioned with position:relative on body\n\t\tif(!mfp.fixedContentPos) {\n\t\t\tmfp.wrap.css('height', mfp.wH);\n\t\t}\n\n\t\t_mfpTrigger('Resize');\n\n\t},\n\n\t/**\n\t * Set content of popup based on current index\n\t */\n\tupdateItemHTML: function() {\n\t\tvar item = mfp.items[mfp.index];\n\n\t\t// Detach and perform modifications\n\t\tmfp.contentContainer.detach();\n\n\t\tif(mfp.content)\n\t\t\tmfp.content.detach();\n\n\t\tif(!item.parsed) {\n\t\t\titem = mfp.parseEl( mfp.index );\n\t\t}\n\n\t\tvar type = item.type;\t\n\n\t\t_mfpTrigger('BeforeChange', [mfp.currItem ? mfp.currItem.type : '', type]);\n\t\t// BeforeChange event works like so:\n\t\t// _mfpOn('BeforeChange', function(e, prevType, newType) { });\n\t\t\n\t\tmfp.currItem = item;\n\n\t\t\n\n\t\t\n\n\t\tif(!mfp.currTemplate[type]) {\n\t\t\tvar markup = mfp.st[type] ? mfp.st[type].markup : false;\n\n\t\t\t// allows to modify markup\n\t\t\t_mfpTrigger('FirstMarkupParse', markup);\n\n\t\t\tif(markup) {\n\t\t\t\tmfp.currTemplate[type] = $(markup);\n\t\t\t} else {\n\t\t\t\t// if there is no markup found we just define that template is parsed\n\t\t\t\tmfp.currTemplate[type] = true;\n\t\t\t}\n\t\t}\n\n\t\tif(_prevContentType && _prevContentType !== item.type) {\n\t\t\tmfp.container.removeClass('mfp-'+_prevContentType+'-holder');\n\t\t}\n\t\t\n\t\tvar newContent = mfp['get' + type.charAt(0).toUpperCase() + type.slice(1)](item, mfp.currTemplate[type]);\n\t\tmfp.appendContent(newContent, type);\n\n\t\titem.preloaded = true;\n\n\t\t_mfpTrigger(CHANGE_EVENT, item);\n\t\t_prevContentType = item.type;\n\t\t\n\t\t// Append container back after its content changed\n\t\tmfp.container.prepend(mfp.contentContainer);\n\n\t\t_mfpTrigger('AfterChange');\n\t},\n\n\n\t/**\n\t * Set HTML content of popup\n\t */\n\tappendContent: function(newContent, type) {\n\t\tmfp.content = newContent;\n\t\t\n\t\tif(newContent) {\n\t\t\tif(mfp.st.showCloseBtn && mfp.st.closeBtnInside &&\n\t\t\t\tmfp.currTemplate[type] === true) {\n\t\t\t\t// if there is no markup, we just append close button element inside\n\t\t\t\tif(!mfp.content.find('.mfp-close').length) {\n\t\t\t\t\tmfp.content.append(_getCloseBtn());\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmfp.content = newContent;\n\t\t\t}\n\t\t} else {\n\t\t\tmfp.content = '';\n\t\t}\n\n\t\t_mfpTrigger(BEFORE_APPEND_EVENT);\n\t\tmfp.container.addClass('mfp-'+type+'-holder');\n\n\t\tmfp.contentContainer.append(mfp.content);\n\t},\n\n\n\n\t\n\t/**\n\t * Creates Magnific Popup data object based on given data\n\t * @param {int} index Index of item to parse\n\t */\n\tparseEl: function(index) {\n\t\tvar item = mfp.items[index],\n\t\t\ttype = item.type;\n\n\t\tif(item.tagName) {\n\t\t\titem = { el: $(item) };\n\t\t} else {\n\t\t\titem = { data: item, src: item.src };\n\t\t}\n\n\t\tif(item.el) {\n\t\t\tvar types = mfp.types;\n\n\t\t\t// check for 'mfp-TYPE' class\n\t\t\tfor(var i = 0; i < types.length; i++) {\n\t\t\t\tif( item.el.hasClass('mfp-'+types[i]) ) {\n\t\t\t\t\ttype = types[i];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\titem.src = item.el.attr('data-mfp-src');\n\t\t\tif(!item.src) {\n\t\t\t\titem.src = item.el.attr('href');\n\t\t\t}\n\t\t}\n\n\t\titem.type = type || mfp.st.type || 'inline';\n\t\titem.index = index;\n\t\titem.parsed = true;\n\t\tmfp.items[index] = item;\n\t\t_mfpTrigger('ElementParse', item);\n\n\t\treturn mfp.items[index];\n\t},\n\n\n\t/**\n\t * Initializes single popup or a group of popups\n\t */\n\taddGroup: function(el, options) {\n\t\tvar eHandler = function(e) {\n\t\t\te.mfpEl = this;\n\t\t\tmfp._openClick(e, el, options);\n\t\t};\n\n\t\tif(!options) {\n\t\t\toptions = {};\n\t\t} \n\n\t\tvar eName = 'click.magnificPopup';\n\t\toptions.mainEl = el;\n\t\t\n\t\tif(options.items) {\n\t\t\toptions.isObj = true;\n\t\t\tel.off(eName).on(eName, eHandler);\n\t\t} else {\n\t\t\toptions.isObj = false;\n\t\t\tif(options.delegate) {\n\t\t\t\tel.off(eName).on(eName, options.delegate , eHandler);\n\t\t\t} else {\n\t\t\t\toptions.items = el;\n\t\t\t\tel.off(eName).on(eName, eHandler);\n\t\t\t}\n\t\t}\n\t},\n\t_openClick: function(e, el, options) {\n\t\tvar midClick = options.midClick !== undefined ? options.midClick : $.magnificPopup.defaults.midClick;\n\n\n\t\tif(!midClick && ( e.which === 2 || e.ctrlKey || e.metaKey ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar disableOn = options.disableOn !== undefined ? options.disableOn : $.magnificPopup.defaults.disableOn;\n\n\t\tif(disableOn) {\n\t\t\tif($.isFunction(disableOn)) {\n\t\t\t\tif( !disableOn.call(mfp) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t} else { // else it's number\n\t\t\t\tif( _window.width() < disableOn ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\tif(e.type) {\n\t\t\te.preventDefault();\n\n\t\t\t// This will prevent popup from closing if element is inside and popup is already opened\n\t\t\tif(mfp.isOpen) {\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\t\t}\n\t\t\t\n\n\t\toptions.el = $(e.mfpEl);\n\t\tif(options.delegate) {\n\t\t\toptions.items = el.find(options.delegate);\n\t\t}\n\t\tmfp.open(options);\n\t},\n\n\n\t/**\n\t * Updates text on preloader\n\t */\n\tupdateStatus: function(status, text) {\n\n\t\tif(mfp.preloader) {\n\t\t\tif(_prevStatus !== status) {\n\t\t\t\tmfp.container.removeClass('mfp-s-'+_prevStatus);\n\t\t\t}\n\n\t\t\tif(!text && status === 'loading') {\n\t\t\t\ttext = mfp.st.tLoading;\n\t\t\t}\n\n\t\t\tvar data = {\n\t\t\t\tstatus: status,\n\t\t\t\ttext: text\n\t\t\t};\n\t\t\t// allows to modify status\n\t\t\t_mfpTrigger('UpdateStatus', data);\n\n\t\t\tstatus = data.status;\n\t\t\ttext = data.text;\n\n\t\t\tmfp.preloader.html(text);\n\n\t\t\tmfp.preloader.find('a').on('click', function(e) {\n\t\t\t\te.stopImmediatePropagation();\n\t\t\t});\n\n\t\t\tmfp.container.addClass('mfp-s-'+status);\n\t\t\t_prevStatus = status;\n\t\t}\n\t},\n\n\n\t/*\n\t\t"Private" helpers that aren't private at all\n\t */\n\t// Check to close popup or not\n\t// "target" is an element that was clicked\n\t_checkIfClose: function(target) {\n\n\t\tif($(target).hasClass(PREVENT_CLOSE_CLASS)) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar closeOnContent = mfp.st.closeOnContentClick;\n\t\tvar closeOnBg = mfp.st.closeOnBgClick;\n\n\t\tif(closeOnContent && closeOnBg) {\n\t\t\treturn true;\n\t\t} else {\n\n\t\t\t// We close the popup if click is on close button or on preloader. Or if there is no content.\n\t\t\tif(!mfp.content || $(target).hasClass('mfp-close') || (mfp.preloader && target === mfp.preloader[0]) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// if click is outside the content\n\t\t\tif( (target !== mfp.content[0] && !$.contains(mfp.content[0], target)) ) {\n\t\t\t\tif(closeOnBg) {\n\t\t\t\t\t// last check, if the clicked element is in DOM, (in case it's removed onclick)\n\t\t\t\t\tif( $.contains(document, target) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if(closeOnContent) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t}\n\t\treturn false;\n\t},\n\t_addClassToMFP: function(cName) {\n\t\tmfp.bgOverlay.addClass(cName);\n\t\tmfp.wrap.addClass(cName);\n\t},\n\t_removeClassFromMFP: function(cName) {\n\t\tthis.bgOverlay.removeClass(cName);\n\t\tmfp.wrap.removeClass(cName);\n\t},\n\t_hasScrollBar: function(winHeight) {\n\t\treturn ( (mfp.isIE7 ? _document.height() : document.body.scrollHeight) > (winHeight || _window.height()) );\n\t},\n\t_setFocus: function() {\n\t\t(mfp.st.focus ? mfp.content.find(mfp.st.focus).eq(0) : mfp.wrap).focus();\n\t},\n\t_onFocusIn: function(e) {\n\t\tif( e.target !== mfp.wrap[0] && !$.contains(mfp.wrap[0], e.target) ) {\n\t\t\tmfp._setFocus();\n\t\t\treturn false;\n\t\t}\n\t},\n\t_parseMarkup: function(template, values, item) {\n\t\tvar arr;\n\t\tif(item.data) {\n\t\t\tvalues = $.extend(item.data, values);\n\t\t}\n\t\t_mfpTrigger(MARKUP_PARSE_EVENT, [template, values, item] );\n\n\t\t$.each(values, function(key, value) {\n\t\t\tif(value === undefined || value === false) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tarr = key.split('_');\n\t\t\tif(arr.length > 1) {\n\t\t\t\tvar el = template.find(EVENT_NS + '-'+arr[0]);\n\n\t\t\t\tif(el.length > 0) {\n\t\t\t\t\tvar attr = arr[1];\n\t\t\t\t\tif(attr === 'replaceWith') {\n\t\t\t\t\t\tif(el[0] !== value[0]) {\n\t\t\t\t\t\t\tel.replaceWith(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if(attr === 'img') {\n\t\t\t\t\t\tif(el.is('img')) {\n\t\t\t\t\t\t\tel.attr('src', value);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tel.replaceWith( '<img src="'+value+'" class="' + el.attr('class') + '" />' );\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tel.attr(arr[1], value);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\ttemplate.find(EVENT_NS + '-'+key).html(value);\n\t\t\t}\n\t\t});\n\t},\n\n\t_getScrollbarSize: function() {\n\t\t// thx David\n\t\tif(mfp.scrollbarSize === undefined) {\n\t\t\tvar scrollDiv = document.createElement("div");\n\t\t\tscrollDiv.id = "mfp-sbm";\n\t\t\tscrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;';\n\t\t\tdocument.body.appendChild(scrollDiv);\n\t\t\tmfp.scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n\t\t\tdocument.body.removeChild(scrollDiv);\n\t\t}\n\t\treturn mfp.scrollbarSize;\n\t}\n\n}; /* MagnificPopup core prototype end */\n\n\n\n\n/**\n * Public static functions\n */\n$.magnificPopup = {\n\tinstance: null,\n\tproto: MagnificPopup.prototype,\n\tmodules: [],\n\n\topen: function(options, index) {\n\t\t_checkInstance();\t\n\n\t\tif(!options) {\n\t\t\toptions = {};\n\t\t} else {\n\t\t\toptions = $.extend(true, {}, options);\n\t\t}\n\t\t\t\n\n\t\toptions.isObj = true;\n\t\toptions.index = index || 0;\n\t\treturn this.instance.open(options);\n\t},\n\n\tclose: function() {\n\t\treturn $.magnificPopup.instance && $.magnificPopup.instance.close();\n\t},\n\n\tregisterModule: function(name, module) {\n\t\tif(module.options) {\n\t\t\t$.magnificPopup.defaults[name] = module.options;\n\t\t}\n\t\t$.extend(this.proto, module.proto);\t\t\t\n\t\tthis.modules.push(name);\n\t},\n\n\tdefaults: { \n\n\t\t// Info about options is in docs:\n\t\t// http://dimsemenov.com/plugins/magnific-popup/documentation.html#options\n\t\t\n\t\tdisableOn: 0,\t\n\n\t\tkey: null,\n\n\t\tmidClick: false,\n\n\t\tmainClass: '',\n\n\t\tpreloader: true,\n\n\t\tfocus: '', // CSS selector of input to focus after popup is opened\n\t\t\n\t\tcloseOnContentClick: false,\n\n\t\tcloseOnBgClick: true,\n\n\t\tcloseBtnInside: true, \n\n\t\tshowCloseBtn: true,\n\n\t\tenableEscapeKey: true,\n\n\t\tmodal: false,\n\n\t\talignTop: false,\n\t\n\t\tremovalDelay: 0,\n\t\t\n\t\tfixedContentPos: 'auto', \n\t\n\t\tfixedBgPos: 'auto',\n\n\t\toverflowY: 'auto',\n\n\t\tcloseMarkup: '<button title="%title%" type="button" class="mfp-close">×</button>',\n\n\t\ttClose: 'Close (Esc)',\n\n\t\ttLoading: 'Loading...'\n\n\t}\n};\n\n\n\n$.fn.magnificPopup = function(options) {\n\t_checkInstance();\n\n\tvar jqEl = $(this);\n\n\t// We call some API method of first param is a string\n\tif (typeof options === "string" ) {\n\n\t\tif(options === 'open') {\n\t\t\tvar items,\n\t\t\t\titemOpts = _isJQ ? jqEl.data('magnificPopup') : jqEl[0].magnificPopup,\n\t\t\t\tindex = parseInt(arguments[1], 10) || 0;\n\n\t\t\tif(itemOpts.items) {\n\t\t\t\titems = itemOpts.items[index];\n\t\t\t} else {\n\t\t\t\titems = jqEl;\n\t\t\t\tif(itemOpts.delegate) {\n\t\t\t\t\titems = items.find(itemOpts.delegate);\n\t\t\t\t}\n\t\t\t\titems = items.eq( index );\n\t\t\t}\n\t\t\tmfp._openClick({mfpEl:items}, jqEl, itemOpts);\n\t\t} else {\n\t\t\tif(mfp.isOpen)\n\t\t\t\tmfp[options].apply(mfp, Array.prototype.slice.call(arguments, 1));\n\t\t}\n\n\t} else {\n\t\t// clone options obj\n\t\toptions = $.extend(true, {}, options);\n\t\t\n\t\t/*\n\t\t * As Zepto doesn't support .data() method for objects \n\t\t * and it works only in normal browsers\n\t\t * we assign "options" object directly to the DOM element. FTW!\n\t\t */\n\t\tif(_isJQ) {\n\t\t\tjqEl.data('magnificPopup', options);\n\t\t} else {\n\t\t\tjqEl[0].magnificPopup = options;\n\t\t}\n\n\t\tmfp.addGroup(jqEl, options);\n\n\t}\n\treturn jqEl;\n};\n\n\n//Quick benchmark\n/*\nvar start = performance.now(),\n\ti,\n\trounds = 1000;\n\nfor(i = 0; i < rounds; i++) {\n\n}\nconsole.log('Test #1:', performance.now() - start);\n\nstart = performance.now();\nfor(i = 0; i < rounds; i++) {\n\n}\nconsole.log('Test #2:', performance.now() - start);\n*/\n\n\nvar _imgInterval,\n\t_getTitle = function(item) {\n\t\tif(item.data && item.data.title !== undefined) \n\t\t\treturn item.data.title;\n\n\t\tvar src = mfp.st.image.titleSrc;\n\n\t\tif(src) {\n\t\t\tif($.isFunction(src)) {\n\t\t\t\treturn src.call(mfp, item);\n\t\t\t} else if(item.el) {\n\t\t\t\treturn item.el.attr(src) || '';\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t};\n\n$.magnificPopup.registerModule('image', {\n\n\toptions: {\n\t\tmarkup: '<div class="mfp-figure">'+\n\t\t\t\t\t'<div class="mfp-close"></div>'+\n\t\t\t\t\t'<figure>'+\n\t\t\t\t\t\t'<div class="mfp-img"></div>'+\n\t\t\t\t\t\t'<figcaption>'+\n\t\t\t\t\t\t\t'<div class="mfp-bottom-bar">'+\n\t\t\t\t\t\t\t\t'<div class="mfp-title"></div>'+\n\t\t\t\t\t\t\t\t'<div class="mfp-counter"></div>'+\n\t\t\t\t\t\t\t'</div>'+\n\t\t\t\t\t\t'</figcaption>'+\n\t\t\t\t\t'</figure>'+\n\t\t\t\t'</div>',\n\t\tcursor: 'mfp-zoom-out-cur',\n\t\ttitleSrc: 'title', \n\t\tverticalFit: true,\n\t\ttError: '<a href="%url%">The image</a> could not be loaded.'\n\t},\n\n\tproto: {\n\t\tinitImage: function() {\n\t\t\tvar imgSt = mfp.st.image,\n\t\t\t\tns = '.image';\n\n\t\t\tmfp.types.push('image');\n\n\t\t\t_mfpOn(OPEN_EVENT+ns, function() {\n\t\t\t\tif(mfp.currItem.type === 'image' && imgSt.cursor) {\n\t\t\t\t\t_body.addClass(imgSt.cursor);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t_mfpOn(CLOSE_EVENT+ns, function() {\n\t\t\t\tif(imgSt.cursor) {\n\t\t\t\t\t_body.removeClass(imgSt.cursor);\n\t\t\t\t}\n\t\t\t\t_window.off('resize' + EVENT_NS);\n\t\t\t});\n\n\t\t\t_mfpOn('Resize'+ns, mfp.resizeImage);\n\t\t\tif(mfp.isLowIE) {\n\t\t\t\t_mfpOn('AfterChange', mfp.resizeImage);\n\t\t\t}\n\t\t},\n\t\tresizeImage: function() {\n\t\t\tvar item = mfp.currItem;\n\t\t\tif(!item || !item.img) return;\n\n\t\t\tif(mfp.st.image.verticalFit) {\n\t\t\t\tvar decr = 0;\n\t\t\t\t// fix box-sizing in ie7/8\n\t\t\t\tif(mfp.isLowIE) {\n\t\t\t\t\tdecr = parseInt(item.img.css('padding-top'), 10) + parseInt(item.img.css('padding-bottom'),10);\n\t\t\t\t}\n\t\t\t\titem.img.css('max-height', mfp.wH-decr);\n\t\t\t}\n\t\t},\n\t\t_onImageHasSize: function(item) {\n\t\t\tif(item.img) {\n\t\t\t\t\n\t\t\t\titem.hasSize = true;\n\n\t\t\t\tif(_imgInterval) {\n\t\t\t\t\tclearInterval(_imgInterval);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\titem.isCheckingImgSize = false;\n\n\t\t\t\t_mfpTrigger('ImageHasSize', item);\n\n\t\t\t\tif(item.imgHidden) {\n\t\t\t\t\tif(mfp.content)\n\t\t\t\t\t\tmfp.content.removeClass('mfp-loading');\n\t\t\t\t\t\n\t\t\t\t\titem.imgHidden = false;\n\t\t\t\t}\n\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Function that loops until the image has size to display elements that rely on it asap\n\t\t */\n\t\tfindImageSize: function(item) {\n\n\t\t\tvar counter = 0,\n\t\t\t\timg = item.img[0],\n\t\t\t\tmfpSetInterval = function(delay) {\n\n\t\t\t\t\tif(_imgInterval) {\n\t\t\t\t\t\tclearInterval(_imgInterval);\n\t\t\t\t\t}\n\t\t\t\t\t// decelerating interval that checks for size of an image\n\t\t\t\t\t_imgInterval = setInterval(function() {\n\t\t\t\t\t\tif(img.naturalWidth > 0) {\n\t\t\t\t\t\t\tmfp._onImageHasSize(item);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(counter > 200) {\n\t\t\t\t\t\t\tclearInterval(_imgInterval);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcounter++;\n\t\t\t\t\t\tif(counter === 3) {\n\t\t\t\t\t\t\tmfpSetInterval(10);\n\t\t\t\t\t\t} else if(counter === 40) {\n\t\t\t\t\t\t\tmfpSetInterval(50);\n\t\t\t\t\t\t} else if(counter === 100) {\n\t\t\t\t\t\t\tmfpSetInterval(500);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, delay);\n\t\t\t\t};\n\n\t\t\tmfpSetInterval(1);\n\t\t},\n\n\t\tgetImage: function(item, template) {\n\n\t\t\tvar guard = 0,\n\n\t\t\t\t// image load complete handler\n\t\t\t\tonLoadComplete = function() {\n\t\t\t\t\tif(item) {\n\t\t\t\t\t\tif (item.img[0].complete) {\n\t\t\t\t\t\t\titem.img.off('.mfploader');\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif(item === mfp.currItem){\n\t\t\t\t\t\t\t\tmfp._onImageHasSize(item);\n\n\t\t\t\t\t\t\t\tmfp.updateStatus('ready');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\titem.hasSize = true;\n\t\t\t\t\t\t\titem.loaded = true;\n\n\t\t\t\t\t\t\t_mfpTrigger('ImageLoadComplete');\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t// if image complete check fails 200 times (20 sec), we assume that there was an error.\n\t\t\t\t\t\t\tguard++;\n\t\t\t\t\t\t\tif(guard < 200) {\n\t\t\t\t\t\t\t\tsetTimeout(onLoadComplete,100);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tonLoadError();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t// image error handler\n\t\t\t\tonLoadError = function() {\n\t\t\t\t\tif(item) {\n\t\t\t\t\t\titem.img.off('.mfploader');\n\t\t\t\t\t\tif(item === mfp.currItem){\n\t\t\t\t\t\t\tmfp._onImageHasSize(item);\n\t\t\t\t\t\t\tmfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\titem.hasSize = true;\n\t\t\t\t\t\titem.loaded = true;\n\t\t\t\t\t\titem.loadError = true;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\timgSt = mfp.st.image;\n\n\n\t\t\tvar el = template.find('.mfp-img');\n\t\t\tif(el.length) {\n\t\t\t\tvar img = document.createElement('img');\n\t\t\t\timg.className = 'mfp-img';\n\t\t\t\titem.img = $(img).on('load.mfploader', onLoadComplete).on('error.mfploader', onLoadError);\n\t\t\t\timg.src = item.src;\n\n\t\t\t\t// without clone() "error" event is not firing when IMG is replaced by new IMG\n\t\t\t\t// TODO: find a way to avoid such cloning\n\t\t\t\tif(el.is('img')) {\n\t\t\t\t\titem.img = item.img.clone();\n\t\t\t\t}\n\t\t\t\tif(item.img[0].naturalWidth > 0) {\n\t\t\t\t\titem.hasSize = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tmfp._parseMarkup(template, {\n\t\t\t\ttitle: _getTitle(item),\n\t\t\t\timg_replaceWith: item.img\n\t\t\t}, item);\n\n\t\t\tmfp.resizeImage();\n\n\t\t\tif(item.hasSize) {\n\t\t\t\tif(_imgInterval) clearInterval(_imgInterval);\n\n\t\t\t\tif(item.loadError) {\n\t\t\t\t\ttemplate.addClass('mfp-loading');\n\t\t\t\t\tmfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );\n\t\t\t\t} else {\n\t\t\t\t\ttemplate.removeClass('mfp-loading');\n\t\t\t\t\tmfp.updateStatus('ready');\n\t\t\t\t}\n\t\t\t\treturn template;\n\t\t\t}\n\n\t\t\tmfp.updateStatus('loading');\n\t\t\titem.loading = true;\n\n\t\t\tif(!item.hasSize) {\n\t\t\t\titem.imgHidden = true;\n\t\t\t\ttemplate.addClass('mfp-loading');\n\t\t\t\tmfp.findImageSize(item);\n\t\t\t} \n\n\t\t\treturn template;\n\t\t}\n\t}\n});\n\n/**\n * Get looped index depending on number of slides\n */\nvar _getLoopedId = function(index) {\n\t\tvar numSlides = mfp.items.length;\n\t\tif(index > numSlides - 1) {\n\t\t\treturn index - numSlides;\n\t\t} else if(index < 0) {\n\t\t\treturn numSlides + index;\n\t\t}\n\t\treturn index;\n\t},\n\t_replaceCurrTotal = function(text, curr, total) {\n\t\treturn text.replace(/%curr%/gi, curr + 1).replace(/%total%/gi, total);\n\t};\n\n$.magnificPopup.registerModule('gallery', {\n\n\toptions: {\n\t\tenabled: false,\n\t\tarrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',\n\t\tpreload: [0,2],\n\t\tnavigateByImgClick: true,\n\t\tarrows: true,\n\n\t\ttPrev: 'Previous (Left arrow key)',\n\t\ttNext: 'Next (Right arrow key)',\n\t\ttCounter: '%curr% of %total%'\n\t},\n\n\tproto: {\n\t\tinitGallery: function() {\n\n\t\t\tvar gSt = mfp.st.gallery,\n\t\t\t\tns = '.mfp-gallery',\n\t\t\t\tsupportsFastClick = Boolean($.fn.mfpFastClick);\n\n\t\t\tmfp.direction = true; // true - next, false - prev\n\t\t\t\n\t\t\tif(!gSt || !gSt.enabled ) return false;\n\n\t\t\t_wrapClasses += ' mfp-gallery';\n\n\t\t\t_mfpOn(OPEN_EVENT+ns, function() {\n\n\t\t\t\tif(gSt.navigateByImgClick) {\n\t\t\t\t\tmfp.wrap.on('click'+ns, '.mfp-img', function() {\n\t\t\t\t\t\tif(mfp.items.length > 1) {\n\t\t\t\t\t\t\tmfp.next();\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t_document.on('keydown'+ns, function(e) {\n\t\t\t\t\tif (e.keyCode === 37) {\n\t\t\t\t\t\tmfp.prev();\n\t\t\t\t\t} else if (e.keyCode === 39) {\n\t\t\t\t\t\tmfp.next();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t_mfpOn('UpdateStatus'+ns, function(e, data) {\n\t\t\t\tif(data.text) {\n\t\t\t\t\tdata.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t_mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) {\n\t\t\t\tvar l = mfp.items.length;\n\t\t\t\tvalues.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : '';\n\t\t\t});\n\n\t\t\t_mfpOn('BuildControls' + ns, function() {\n\t\t\t\tif(mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) {\n\t\t\t\t\tvar markup = gSt.arrowMarkup,\n\t\t\t\t\t\tarrowLeft = mfp.arrowLeft = $( markup.replace(/%title%/gi, gSt.tPrev).replace(/%dir%/gi, 'left') ).addClass(PREVENT_CLOSE_CLASS),\t\t\t\n\t\t\t\t\t\tarrowRight = mfp.arrowRight = $( markup.replace(/%title%/gi, gSt.tNext).replace(/%dir%/gi, 'right') ).addClass(PREVENT_CLOSE_CLASS);\n\n\t\t\t\t\tvar eName = supportsFastClick ? 'mfpFastClick' : 'click';\n\t\t\t\t\tarrowLeft[eName](function() {\n\t\t\t\t\t\tmfp.prev();\n\t\t\t\t\t});\t\t\t\n\t\t\t\t\tarrowRight[eName](function() {\n\t\t\t\t\t\tmfp.next();\n\t\t\t\t\t});\t\n\n\t\t\t\t\t// Polyfill for :before and :after (adds elements with classes mfp-a and mfp-b)\n\t\t\t\t\tif(mfp.isIE7) {\n\t\t\t\t\t\t_getEl('b', arrowLeft[0], false, true);\n\t\t\t\t\t\t_getEl('a', arrowLeft[0], false, true);\n\t\t\t\t\t\t_getEl('b', arrowRight[0], false, true);\n\t\t\t\t\t\t_getEl('a', arrowRight[0], false, true);\n\t\t\t\t\t}\n\n\t\t\t\t\tmfp.container.append(arrowLeft.add(arrowRight));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t_mfpOn(CHANGE_EVENT+ns, function() {\n\t\t\t\tif(mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout);\n\n\t\t\t\tmfp._preloadTimeout = setTimeout(function() {\n\t\t\t\t\tmfp.preloadNearbyImages();\n\t\t\t\t\tmfp._preloadTimeout = null;\n\t\t\t\t}, 16);\t\t\n\t\t\t});\n\n\n\t\t\t_mfpOn(CLOSE_EVENT+ns, function() {\n\t\t\t\t_document.off(ns);\n\t\t\t\tmfp.wrap.off('click'+ns);\n\t\t\t\n\t\t\t\tif(mfp.arrowLeft && supportsFastClick) {\n\t\t\t\t\tmfp.arrowLeft.add(mfp.arrowRight).destroyMfpFastClick();\n\t\t\t\t}\n\t\t\t\tmfp.arrowRight = mfp.arrowLeft = null;\n\t\t\t});\n\n\t\t}, \n\t\tnext: function() {\n\t\t\tmfp.direction = true;\n\t\t\tmfp.index = _getLoopedId(mfp.index + 1);\n\t\t\tmfp.updateItemHTML();\n\t\t},\n\t\tprev: function() {\n\t\t\tmfp.direction = false;\n\t\t\tmfp.index = _getLoopedId(mfp.index - 1);\n\t\t\tmfp.updateItemHTML();\n\t\t},\n\t\tgoTo: function(newIndex) {\n\t\t\tmfp.direction = (newIndex >= mfp.index);\n\t\t\tmfp.index = newIndex;\n\t\t\tmfp.updateItemHTML();\n\t\t},\n\t\tpreloadNearbyImages: function() {\n\t\t\tvar p = mfp.st.gallery.preload,\n\t\t\t\tpreloadBefore = Math.min(p[0], mfp.items.length),\n\t\t\t\tpreloadAfter = Math.min(p[1], mfp.items.length),\n\t\t\t\ti;\n\n\t\t\tfor(i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore); i++) {\n\t\t\t\tmfp._preloadItem(mfp.index+i);\n\t\t\t}\n\t\t\tfor(i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter); i++) {\n\t\t\t\tmfp._preloadItem(mfp.index-i);\n\t\t\t}\n\t\t},\n\t\t_preloadItem: function(index) {\n\t\t\tindex = _getLoopedId(index);\n\n\t\t\tif(mfp.items[index].preloaded) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar item = mfp.items[index];\n\t\t\tif(!item.parsed) {\n\t\t\t\titem = mfp.parseEl( index );\n\t\t\t}\n\n\t\t\t_mfpTrigger('LazyLoad', item);\n\n\t\t\tif(item.type === 'image') {\n\t\t\t\titem.img = $('<img class="mfp-img" />').on('load.mfploader', function() {\n\t\t\t\t\titem.hasSize = true;\n\t\t\t\t}).on('error.mfploader', function() {\n\t\t\t\t\titem.hasSize = true;\n\t\t\t\t\titem.loadError = true;\n\t\t\t\t\t_mfpTrigger('LazyLoadError', item);\n\t\t\t\t}).attr('src', item.src);\n\t\t\t}\n\n\n\t\t\titem.preloaded = true;\n\t\t}\n\t}\n});\n\n/*\nTouch Support that might be implemented some day\n\naddSwipeGesture: function() {\n\tvar startX,\n\t\tmoved,\n\t\tmultipleTouches;\n\n\t\treturn;\n\n\tvar namespace = '.mfp',\n\t\taddEventNames = function(pref, down, move, up, cancel) {\n\t\t\tmfp._tStart = pref + down + namespace;\n\t\t\tmfp._tMove = pref + move + namespace;\n\t\t\tmfp._tEnd = pref + up + namespace;\n\t\t\tmfp._tCancel = pref + cancel + namespace;\n\t\t};\n\n\tif(window.navigator.msPointerEnabled) {\n\t\taddEventNames('MSPointer', 'Down', 'Move', 'Up', 'Cancel');\n\t} else if('ontouchstart' in window) {\n\t\taddEventNames('touch', 'start', 'move', 'end', 'cancel');\n\t} else {\n\t\treturn;\n\t}\n\t_window.on(mfp._tStart, function(e) {\n\t\tvar oE = e.originalEvent;\n\t\tmultipleTouches = moved = false;\n\t\tstartX = oE.pageX || oE.changedTouches[0].pageX;\n\t}).on(mfp._tMove, function(e) {\n\t\tif(e.originalEvent.touches.length > 1) {\n\t\t\tmultipleTouches = e.originalEvent.touches.length;\n\t\t} else {\n\t\t\t//e.preventDefault();\n\t\t\tmoved = true;\n\t\t}\n\t}).on(mfp._tEnd + ' ' + mfp._tCancel, function(e) {\n\t\tif(moved && !multipleTouches) {\n\t\t\tvar oE = e.originalEvent,\n\t\t\t\tdiff = startX - (oE.pageX || oE.changedTouches[0].pageX);\n\n\t\t\tif(diff > 20) {\n\t\t\t\tmfp.next();\n\t\t\t} else if(diff < -20) {\n\t\t\t\tmfp.prev();\n\t\t\t}\n\t\t}\n\t});\n},\n*/\n\n\ntry {\n\tversion.extensions['popupMacro'] = {major:1, minor:0, revision:0};\n\tmacros['popup'] = {\n\t\thandler: function(place, macroName, params, parser) {\n\t\t\tif (params.length == 1) {\n\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t$(params[0]).magnificPopup({type: 'image'});\n\t\t\t\t}, 200);\n\t\t\t}\n\t\t}\n\t};\n} catch(ex) {\n\tthrowError(place, "popup Setup Error: " + ex.message);\n}\n\n\n\n\n
Portfolio Book by Maz Hemming
[[Illustrator|Book][$imgEight to "http://mazhemart.co.uk/Pa/eight6.gif"]]\n<span id="smaller">www.antholojam.com/gamesite/sjgb.html</span>\n[[That's Not on Fire|Book][$imgEight to "http://mazhemart.co.uk/Pa/eight5.gif"]]\n<span id="smaller">mazhem.itch.io/sipsjam-2016-thats-not-on-fire</span>\n[[Let's bake a cake|Book][$imgEight to "http://mazhemart.co.uk/Pa/eight4.jpg"]]\n<span id="smaller">mazhem.itch.io/lets-bake-a-cake</span>\n[[Shapeshifter|Book][$imgEight to "http://mazhemart.co.uk/Pa/eight3.png"]]\n<span id="smaller">mazhem.itch.io/image-shift</span>\n[[The Academy|Book][$imgEight to "http://mazhemart.co.uk/Pa/eight2.jpg"]]\n[[The Church|Book][$imgEight to "http://mazhemart.co.uk/Pa/eight1.jpg"]]
<<print '<a class="popup-link" href="'+ $imgTwo +'">'+'<img src="'+ $imgTwo +'"></a>'>>\n<<popup ".popup-link">>
<<print '<a class="popup-link" href="'+ $imgSix +'">'+'<img src="'+ $imgSix +'"></a>'>>\n<<popup ".popup-link">>
<<print '<a class="popup-link" href="'+ $imgFive +'">'+'<img src="'+ $imgFive +'"></a>'>>\n<<popup ".popup-link">>
<<print '<a class="popup-link" href="'+ $imgSeven +'">'+'<img src="'+ $imgSeven +'"></a>'>>\n<<popup ".popup-link">>
<<print '<a class="popup-link" href="'+ $imgThree +'">'+'<img src="'+ $imgThree +'"></a>'>>\n<<popup ".popup-link">>
[[first|Book][$imgFive to "http://mazhemart.co.uk/Pa/five9.jpg"]]\n[[second|Book][$imgFive to "http://mazhemart.co.uk/Pa/five8.jpg"]]\n[[third|Book][$imgFive to "http://mazhemart.co.uk/Pa/five7.jpg"]]\n[[fourth|Book][$imgFive to "http://mazhemart.co.uk/Pa/five6.jpg"]]\n[[fifth|Book][$imgFive to "http://mazhemart.co.uk/Pa/five5.jpg"]]\n[[sixth|Book][$imgFive to "http://mazhemart.co.uk/Pa/five4.jpg"]]\n[[seventh|Book][$imgFive to "http://mazhemart.co.uk/Pa/five3.jpg"]]\n[[eigth|Book][$imgFive to "http://mazhemart.co.uk/Pa/five2.jpg"]]\n[[ninth|Book][$imgFive to "http://mazhemart.co.uk/Pa/five1.jpg"]]\n[[final|Book][$imgFive to "http://mazhemart.co.uk/Pa/five.jpg"]]
Maz Hemming\n@MazHem_
/* Magnific Popup CSS */\n.mfp-bg {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1042;\n overflow: hidden;\n position: fixed;\n background: #0b0b0b;\n opacity: 0.8;\n filter: alpha(opacity=80);\n}\n\n.mfp-wrap {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1043;\n position: fixed;\n outline: none !important;\n -webkit-backface-visibility: hidden;\n}\n\n.mfp-container {\n text-align: center;\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n padding: 0 8px;\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n\n.mfp-container:before {\n content: '';\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n}\n\n.mfp-align-top .mfp-container:before {\n display: none;\n}\n\n.mfp-content {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n margin: 0 auto;\n text-align: left;\n z-index: 1045;\n}\n\n.mfp-inline-holder .mfp-content,\n.mfp-ajax-holder .mfp-content {\n width: 100%;\n cursor: auto;\n}\n\n.mfp-ajax-cur {\n cursor: progress;\n}\n\n.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {\n cursor: -moz-zoom-out;\n cursor: -webkit-zoom-out;\n cursor: zoom-out;\n}\n\n.mfp-zoom {\n cursor: pointer;\n cursor: -webkit-zoom-in;\n cursor: -moz-zoom-in;\n cursor: zoom-in;\n}\n\n.mfp-auto-cursor .mfp-content {\n cursor: auto;\n}\n\n.mfp-close,\n.mfp-arrow,\n.mfp-preloader,\n.mfp-counter {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n\n.mfp-loading.mfp-figure {\n display: none;\n}\n\n.mfp-hide {\n display: none !important;\n}\n\n.mfp-preloader {\n color: #CCC;\n position: absolute;\n top: 50%;\n width: auto;\n text-align: center;\n margin-top: -0.8em;\n left: 8px;\n right: 8px;\n z-index: 1044;\n}\n.mfp-preloader a {\n color: #CCC;\n}\n.mfp-preloader a:hover {\n color: #FFF;\n}\n\n.mfp-s-ready .mfp-preloader {\n display: none;\n}\n\n.mfp-s-error .mfp-content {\n display: none;\n}\n\nbutton.mfp-close, button.mfp-arrow {\n overflow: visible;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n display: block;\n outline: none;\n padding: 0;\n z-index: 1046;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\nbutton::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\n\n.mfp-close {\n width: 44px;\n height: 44px;\n line-height: 44px;\n position: absolute;\n right: 0;\n top: 0;\n text-decoration: none;\n text-align: center;\n opacity: 0.65;\n padding: 0 0 18px 10px;\n color: #FFF;\n font-style: normal;\n font-size: 28px;\n font-family: Arial, Baskerville, monospace;\n}\n.mfp-close:hover, .mfp-close:focus {\n opacity: 1;\n}\n.mfp-close:active {\n top: 1px;\n}\n\n.mfp-close-btn-in .mfp-close {\n color: #333;\n}\n\n.mfp-image-holder .mfp-close,\n.mfp-iframe-holder .mfp-close {\n color: #FFF;\n right: -6px;\n text-align: right;\n padding-right: 6px;\n width: 100%;\n}\n\n.mfp-counter {\n position: absolute;\n top: 0;\n right: 0;\n color: #CCC;\n font-size: 12px;\n line-height: 18px;\n}\n\n.mfp-arrow {\n position: absolute;\n opacity: 0.65;\n margin: 0;\n top: 50%;\n margin-top: -55px;\n padding: 0;\n width: 90px;\n height: 110px;\n -webkit-tap-highlight-color: transparent;\n}\n.mfp-arrow:active {\n margin-top: -54px;\n}\n.mfp-arrow:hover, .mfp-arrow:focus {\n opacity: 1;\n}\n.mfp-arrow:before, .mfp-arrow:after,\n.mfp-arrow .mfp-b,\n.mfp-arrow .mfp-a {\n content: '';\n display: block;\n width: 0;\n height: 0;\n position: absolute;\n left: 0;\n top: 0;\n margin-top: 35px;\n margin-left: 35px;\n border: medium inset transparent;\n}\n.mfp-arrow:after,\n.mfp-arrow .mfp-a {\n border-top-width: 13px;\n border-bottom-width: 13px;\n top: 8px;\n}\n.mfp-arrow:before,\n.mfp-arrow .mfp-b {\n border-top-width: 21px;\n border-bottom-width: 21px;\n}\n\n.mfp-arrow-left {\n left: 0;\n}\n.mfp-arrow-left:after,\n.mfp-arrow-left .mfp-a {\n border-right: 17px solid #FFF;\n margin-left: 31px;\n}\n.mfp-arrow-left:before,\n.mfp-arrow-left .mfp-b {\n margin-left: 25px;\n border-right: 27px solid #3f3f3f;\n}\n\n.mfp-arrow-right {\n right: 0;\n}\n.mfp-arrow-right:after,\n.mfp-arrow-right .mfp-a {\n border-left: 17px solid #FFF;\n margin-left: 39px;\n}\n.mfp-arrow-right:before,\n.mfp-arrow-right .mfp-b {\n border-left: 27px solid #3f3f3f;\n}\n\n.mfp-iframe-holder {\n padding-top: 40px;\n padding-bottom: 40px;\n}\n.mfp-iframe-holder .mfp-content {\n line-height: 0;\n width: 100%;\n max-width: 900px;\n}\n.mfp-iframe-holder .mfp-close {\n top: -40px;\n}\n\n.mfp-iframe-scaler {\n width: 100%;\n height: 0;\n overflow: hidden;\n padding-top: 56.25%;\n}\n.mfp-iframe-scaler iframe {\n position: absolute;\n display: block;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);\n background: #000;\n}\n\n/* Main image in popup */\nimg.mfp-img {\n width: auto;\n max-width: 100%;\n height: auto;\n display: block;\n line-height: 0;\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 40px 0 40px;\n margin: 0 auto;\n}\n\n/* The shadow behind the image */\n.mfp-figure {\n line-height: 0;\n}\n\nfigure {\n margin: 0.5em 0.5em;\n}\n\n.mfp-figure:after {\n content: '';\n position: absolute;\n left: 0;\n top: 40px;\n bottom: 40px;\n display: block;\n right: 0;\n width: auto;\n height: auto;\n z-index: -1;\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);\n background: #444;\n}\n.mfp-figure small {\n color: #BDBDBD;\n display: block;\n font-size: 12px;\n line-height: 14px;\n}\n\n.mfp-bottom-bar {\n margin-top: -36px;\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n cursor: auto;\n}\n\n.mfp-title {\n text-align: left;\n line-height: 18px;\n color: #F3F3F3;\n word-wrap: break-word;\n padding-right: 36px;\n}\n\n.mfp-image-holder .mfp-content {\n max-width: 100%;\n}\n\n.mfp-gallery .mfp-image-holder .mfp-figure {\n cursor: pointer;\n}\n\n@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {\n /**\n * Remove all paddings around the image on small screen\n */\n .mfp-img-mobile .mfp-image-holder {\n padding-left: 0;\n padding-right: 0;\n }\n .mfp-img-mobile img.mfp-img {\n padding: 0;\n }\n .mfp-img-mobile .mfp-figure {\n /* The shadow behind the image */\n }\n .mfp-img-mobile .mfp-figure:after {\n top: 0;\n bottom: 0;\n }\n .mfp-img-mobile .mfp-figure small {\n display: inline;\n margin-left: 5px;\n }\n .mfp-img-mobile .mfp-bottom-bar {\n background: rgba(0, 0, 0, 0.6);\n bottom: 0;\n margin: 0;\n top: auto;\n padding: 3px 5px;\n position: fixed;\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n }\n .mfp-img-mobile .mfp-bottom-bar:empty {\n padding: 0;\n }\n .mfp-img-mobile .mfp-counter {\n right: 5px;\n top: 3px;\n }\n .mfp-img-mobile .mfp-close {\n top: 0;\n right: 0;\n width: 35px;\n height: 35px;\n line-height: 35px;\n background: rgba(0, 0, 0, 0.6);\n position: fixed;\n text-align: center;\n padding: 0;\n }\n}\n@media all and (max-width: 900px) {\n .mfp-arrow {\n -webkit-transform: scale(0.75);\n transform: scale(0.75);\n }\n\n .mfp-arrow-left {\n -webkit-transform-origin: 0;\n transform-origin: 0;\n }\n\n .mfp-arrow-right {\n -webkit-transform-origin: 100%;\n transform-origin: 100%;\n }\n\n .mfp-container {\n padding-left: 6px;\n padding-right: 6px;\n }\n}\n.mfp-ie7 .mfp-img {\n padding: 0;\n}\n.mfp-ie7 .mfp-bottom-bar {\n width: 600px;\n left: 50%;\n margin-left: -300px;\n margin-top: 5px;\n padding-bottom: 5px;\n}\n.mfp-ie7 .mfp-container {\n padding: 0;\n}\n.mfp-ie7 .mfp-content {\n padding-top: 44px;\n}\n.mfp-ie7 .mfp-close {\n top: 0;\n right: 0;\n padding-top: 0;\n}\n
[[first|Book][$imgone to "http://mazhemart.co.uk/Pa/one7.jpg"]]\n[[second|Book][$imgone to "http://mazhemart.co.uk/Pa/one6.jpg"]]\n[[third|Book][$imgone to "http://mazhemart.co.uk/Pa/one5.jpg"]]\n[[fourth|Book][$imgone to "http://mazhemart.co.uk/Pa/one4.jpg"]]\n[[fifth|Book][$imgone to "http://mazhemart.co.uk/Pa/one3.jpg"]]\n[[sixth|Book][$imgone to "http://mazhemart.co.uk/Pa/one2.jpg"]]\n[[final|Book][$imgone to "http://mazhemart.co.uk/Pa/one.jpg"]]\n\n
<<nobr>>\n<<if $displayLeft is "none">>\n<<display "none">>\n<</if>>\n\n<<if $displayLeft is "one">>\n<<display "one">>\n<</if>>\n\n<<if $displayLeft is "two">>\n<<display "two">>\n<</if>>\n\n<<if $displayLeft is "three">>\n<<display "three">>\n<</if>>\n\n<<if $displayLeft is "four">>\n<<display "four">>\n<</if>>\n\n<<if $displayLeft is "five">>\n<<display "five">>\n<</if>>\n\n<<if $displayLeft is "six">>\n<<display "six">>\n<</if>>\n\n<<if $displayLeft is "seven">>\n<<display "seven">>\n<</if>>\n\n<<if $displayLeft is "eight">>\n<<display "eight">>\n<</if>>\n<</nobr>>\n
I've been working in twine for a while, I'd love to devote more of my time to it. Especially with what I've been trying to do. I've used Unity in a couple of game jams, though as an artist, I've also dabbled in Renpy, and I'm interested in Inkle's Ink.\n\nMost of my work here has been done on my old Cintiq 12WX (the one with slight too-warm-yellow colour balance issues) in Clip Studio Paint, with a bit of Photoshop and Sketchup, any photobashes are using my own photography. \n\nClick the numbers to the side, the bookmarks, to see the development of some of my work. Seven and Eight are collections rather than single pieces. \n\nIf you wish to see a picture in greater detail, click on it for a pop-up. \n\nTo come back to the main page, click "Beginning" at the bottom. \n\nBest wishes,\n\nMx Maz Hemming\n\n<a href="http://fallenlondon.storynexus.com/Profile/Reverend%20Cleo">London |</a> <a href="http://www.twitter.com/MazHem_">Twitter</a>\n
<<nobr>>\n<<if $displayLeft is "one">>\n<<display $oneimage>>\n<</if>>\n\n<<if $displayLeft is "two">>\n<<display $twoimage>>\n<</if>> \n\n<<if $displayLeft is "three">>\n<<display $threeimage>>\n<</if>> \n\n<<if $displayLeft is "four">>\n<<display $fourimage>>\n<</if>> \n\n<<if $displayLeft is "five">>\n<<display $fiveimage>>\n<</if>> \n\n<<if $displayLeft is "six">>\n<<display $siximage>>\n<</if>> \n\n<<if $displayLeft is "seven">>\n<<display $sevenimage>>\n<</if>> \n\n<<if $displayLeft is "eight">>\n<<display $eightimage>>\n<</if>> \n<</nobr>>\n\n<<if $displayLeft isnot "none">>\n<img src="http://mazhemart.co.uk/Pa/tape.png" id="tape"><</if>>
<img src='http://mazhemart.co.uk/Pa/fonbook.png' id='fonBook'/>\n\n<div id='front'>\n\n[[I'm an Artist not an Author|Book]]\n<<nobr>>\n<<set $oneimage to "one1">>\n<<set $twoimage to "two1">>\n<<set $threeimage to "three1">>\n<<set $fourimage to "four1">>\n<<set $fiveimage to "five1">>\n<<set $siximage to "six1">>\n<<set $sevenimage to "seven1">>\n<<set $eightimage to "eight1">>\n<<set $displayLeft to "none">>\n<<set $imgone to "http://mazhemart.co.uk/Pa/one.jpg">>\n<<set $imgTwo to "http://mazhemart.co.uk/Pa/two.jpg">>\n<<set $imgThree to "http://mazhemart.co.uk/Pa/three.jpg">>\n<<set $imgFour to "http://mazhemart.co.uk/Pa/four.jpg">>\n<<set $imgFive to "http://mazhemart.co.uk/Pa/five.jpg">>\n<<set $imgSix to "http://mazhemart.co.uk/Pa/six.jpg">>\n<<set $imgSeven to "http://mazhemart.co.uk/Pa/face1.jpg">>\n<<set $imgEight to "http://mazhemart.co.uk/Pa/eight1.jpg">>\n<<set $BeginningClick to true>>\n<link href="https://fonts.googleapis.com/css?family=Alegreya+SC|Gentium+Basic:400,700i" rel="stylesheet">\n<</nobr>>\n</div>\n
/* Your story will use the CSS in this passage to style the page.\nGive this passage more tags, and it will only affect passages with those tags.\nExample selectors: */\n\n\nbody {\n\tfont-family: 'Alegreya SC', serif;\nfont-family: 'Gentium Basic', serif;\n}\n\n#ui-bar {display: none; \n}\n\n#story {\n margin: 0 9vw;\n overflow: hidden;\n}\n\ndiv#Book {\n display: flex;\n padding: 0;\n flex-wrap: nowrap;\n align-items: flex-start;\n height: 98vh;\n}\n\nimg#bookpage {\n max-height: 50vw;\n pointer-events: none;\n}\n\nspan#Back {\n position: absolute;\n top: 46vw;\n left: 13vw;\n font-family: Gentium Basic;\n color: #382520;\n font-size: 1.2em;\n line-height: 1.2em;\n}\n\nspan#Back a {\n font-family: Gentium Basic;\n font-weight: 700;\n font-style: italic;\n color: #961212;\n font-size: .9em;\n line-height: 1.2em;\n}\n\nspan#contents {\n display: inline-flex;\n flex-direction: column;\n}\n\nspan.contents {\n margin-bottom: -10px;\n}\n\n.contents img {\n width: 5.5855vw;\n}\n\n#passages {\n max-width: 100vw;\n margin: 0 auto;\n max-height: 100vh;\n}\n\n.passage {\n max-width: 100vw;\n margin: 0 auto;\n max-height: 100vh;\n}\n\n.passage a {\n\t/* This affects passage links */\ntext-decoration: none; \t\n color: #e83d20;\n\n\t\n}\n.passage a:hover {\n color: #ff2500;\n\ntext-decoration: none; \n\t/* This affects links while the cursor is over them */\n\t\n\t\n}\n\nspan#Left {\n display: block;\n height: 38vw;\n width: 26vw;\n position: absolute;\n top: 6vw;\n left: 15vw;\n font-family: Gentium Basic;\n color: #382520;\n font-size: .95vw;\n line-height: 1.2em;\n}\n\nspan#Left a{\n font-family: Alegreya SC;\n cursor: help;\nfont-size: 2vw; \n line-height: 2vw;\n}\n\nspan#Right {\n display: block;\n height: 38vw;\n width: 26vw;\n position: absolute;\n top: 6vw;\n left: 45vw;\n font-family: Gentium Basic;\n color: #382520;\n font-size: 1.2em;\n line-height: 1.2em;\n}\n\n#Right img {\n width: 100%;\n box-shadow: 4px 14px 20px 0px rgba(158, 135, 115, 0.52);\n}\n\n#story a.link-external:after {\n display: none; \n}\n\nimg#fonBook {\n height: 48vw;\n margin: 0 auto;\n display: inherit;\n pointer-events: none;\n}\n\ndiv#front {\n display: block;\n font-family: Alegreya SC;\n top: 7vw;\n left: 36vw;\n position: fixed;\n width: 7em;\n text-align: center;\n font-size: 4.2vw;\n line-height: 1em;\n text-shadow: -1px 2px 0px #3c0808;\n}\n\nspan#smaller {\n font-family: 'Alegreya SC';\n size: 1em;\n}\n\nimg#tape {\n position: absolute;\n left: 1vw;\n top: -1vw;\n width: 8vw;\n z-index: 30;\n box-shadow: none;\n}\n
/*\n * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/\n *\n * Uses the built in easing capabilities added In jQuery 1.1\n * to offer multiple easing options\n *\n * TERMS OF USE - jQuery Easing\n * \n * Open source under the BSD License. \n * \n * Copyright © 2008 George McGinley Smith\n * All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n * \n * Redistributions of source code must retain the above copyright notice, this list of \n * conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright notice, this list \n * of conditions and the following disclaimer in the documentation and/or other materials \n * provided with the distribution.\n * \n * Neither the name of the author nor the names of contributors may be used to endorse \n * or promote products derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY \n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\n * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\n * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED \n * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED \n * OF THE POSSIBILITY OF SUCH DAMAGE. \n *\n*/\n\n// t: current time, b: begInnIng value, c: change In value, d: duration\njQuery.easing['jswing'] = jQuery.easing['swing'];\n\njQuery.extend( jQuery.easing,\n{\n\tdef: 'easeOutQuad',\n\tswing: function (x, t, b, c, d) {\n\t\t//alert(jQuery.easing.default);\n\t\treturn jQuery.easing[jQuery.easing.def](x, t, b, c, d);\n\t},\n\teaseInQuad: function (x, t, b, c, d) {\n\t\treturn c*(t/=d)*t + b;\n\t},\n\teaseOutQuad: function (x, t, b, c, d) {\n\t\treturn -c *(t/=d)*(t-2) + b;\n\t},\n\teaseInOutQuad: function (x, t, b, c, d) {\n\t\tif ((t/=d/2) < 1) return c/2*t*t + b;\n\t\treturn -c/2 * ((--t)*(t-2) - 1) + b;\n\t},\n\teaseInCubic: function (x, t, b, c, d) {\n\t\treturn c*(t/=d)*t*t + b;\n\t},\n\teaseOutCubic: function (x, t, b, c, d) {\n\t\treturn c*((t=t/d-1)*t*t + 1) + b;\n\t},\n\teaseInOutCubic: function (x, t, b, c, d) {\n\t\tif ((t/=d/2) < 1) return c/2*t*t*t + b;\n\t\treturn c/2*((t-=2)*t*t + 2) + b;\n\t},\n\teaseInQuart: function (x, t, b, c, d) {\n\t\treturn c*(t/=d)*t*t*t + b;\n\t},\n\teaseOutQuart: function (x, t, b, c, d) {\n\t\treturn -c * ((t=t/d-1)*t*t*t - 1) + b;\n\t},\n\teaseInOutQuart: function (x, t, b, c, d) {\n\t\tif ((t/=d/2) < 1) return c/2*t*t*t*t + b;\n\t\treturn -c/2 * ((t-=2)*t*t*t - 2) + b;\n\t},\n\teaseInQuint: function (x, t, b, c, d) {\n\t\treturn c*(t/=d)*t*t*t*t + b;\n\t},\n\teaseOutQuint: function (x, t, b, c, d) {\n\t\treturn c*((t=t/d-1)*t*t*t*t + 1) + b;\n\t},\n\teaseInOutQuint: function (x, t, b, c, d) {\n\t\tif ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;\n\t\treturn c/2*((t-=2)*t*t*t*t + 2) + b;\n\t},\n\teaseInSine: function (x, t, b, c, d) {\n\t\treturn -c * Math.cos(t/d * (Math.PI/2)) + c + b;\n\t},\n\teaseOutSine: function (x, t, b, c, d) {\n\t\treturn c * Math.sin(t/d * (Math.PI/2)) + b;\n\t},\n\teaseInOutSine: function (x, t, b, c, d) {\n\t\treturn -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;\n\t},\n\teaseInExpo: function (x, t, b, c, d) {\n\t\treturn (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;\n\t},\n\teaseOutExpo: function (x, t, b, c, d) {\n\t\treturn (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;\n\t},\n\teaseInOutExpo: function (x, t, b, c, d) {\n\t\tif (t==0) return b;\n\t\tif (t==d) return b+c;\n\t\tif ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;\n\t\treturn c/2 * (-Math.pow(2, -10 * --t) + 2) + b;\n\t},\n\teaseInCirc: function (x, t, b, c, d) {\n\t\treturn -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;\n\t},\n\teaseOutCirc: function (x, t, b, c, d) {\n\t\treturn c * Math.sqrt(1 - (t=t/d-1)*t) + b;\n\t},\n\teaseInOutCirc: function (x, t, b, c, d) {\n\t\tif ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;\n\t\treturn c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;\n\t},\n\teaseInElastic: function (x, t, b, c, d) {\n\t\tvar s=1.70158;var p=0;var a=c;\n\t\tif (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;\n\t\tif (a < Math.abs(c)) { a=c; var s=p/4; }\n\t\telse var s = p/(2*Math.PI) * Math.asin (c/a);\n\t\treturn -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;\n\t},\n\teaseOutElastic: function (x, t, b, c, d) {\n\t\tvar s=1.70158;var p=0;var a=c;\n\t\tif (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;\n\t\tif (a < Math.abs(c)) { a=c; var s=p/4; }\n\t\telse var s = p/(2*Math.PI) * Math.asin (c/a);\n\t\treturn a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;\n\t},\n\teaseInOutElastic: function (x, t, b, c, d) {\n\t\tvar s=1.70158;var p=0;var a=c;\n\t\tif (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);\n\t\tif (a < Math.abs(c)) { a=c; var s=p/4; }\n\t\telse var s = p/(2*Math.PI) * Math.asin (c/a);\n\t\tif (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;\n\t\treturn a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;\n\t},\n\teaseInBack: function (x, t, b, c, d, s) {\n\t\tif (s == undefined) s = 1.70158;\n\t\treturn c*(t/=d)*t*((s+1)*t - s) + b;\n\t},\n\teaseOutBack: function (x, t, b, c, d, s) {\n\t\tif (s == undefined) s = 1.70158;\n\t\treturn c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;\n\t},\n\teaseInOutBack: function (x, t, b, c, d, s) {\n\t\tif (s == undefined) s = 1.70158; \n\t\tif ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;\n\t\treturn c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;\n\t},\n\teaseInBounce: function (x, t, b, c, d) {\n\t\treturn c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;\n\t},\n\teaseOutBounce: function (x, t, b, c, d) {\n\t\tif ((t/=d) < (1/2.75)) {\n\t\t\treturn c*(7.5625*t*t) + b;\n\t\t} else if (t < (2/2.75)) {\n\t\t\treturn c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;\n\t\t} else if (t < (2.5/2.75)) {\n\t\t\treturn c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;\n\t\t} else {\n\t\t\treturn c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;\n\t\t}\n\t},\n\teaseInOutBounce: function (x, t, b, c, d) {\n\t\tif (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;\n\t\treturn jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;\n\t}\n});\n\n/*\n *\n * TERMS OF USE - EASING EQUATIONS\n * \n * Open source under the BSD License. \n * \n * Copyright © 2001 Robert Penner\n * All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n * \n * Redistributions of source code must retain the above copyright notice, this list of \n * conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright notice, this list \n * of conditions and the following disclaimer in the documentation and/or other materials \n * provided with the distribution.\n * \n * Neither the name of the author nor the names of contributors may be used to endorse \n * or promote products derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY \n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\n * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\n * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED \n * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED \n * OF THE POSSIBILITY OF SUCH DAMAGE. \n *\n */