?/gm,"");this.token(r,n);this.tokens.push({type:"blockquote_end"});continue}if(r=this.rules.list.exec(e)){e=e.substring(r[0].length);l=r[2];this.tokens.push({type:"list_start",ordered:l.length>1});r=r[0].match(this.rules.item);s=false;p=r.length;u=0;for(;u1&&o.length>1)){e=r.slice(u+1).join("\n")+e;u=p-1}}i=s||/\n\n(?!\s*$)/.test(h);if(u!==p-1){s=h[h.length-1]==="\n";if(!i)i=s}this.tokens.push({type:i?"loose_item_start":"list_item_start"});this.token(h,false);this.tokens.push({type:"list_item_end"})}this.tokens.push({type:"list_end"});continue}if(r=this.rules.html.exec(e)){e=e.substring(r[0].length);this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:r[1]==="pre"||r[1]==="script",text:r[0]});continue}if(n&&(r=this.rules.def.exec(e))){e=e.substring(r[0].length);this.tokens.links[r[1].toLowerCase()]={href:r[2],title:r[3]};continue}if(n&&(r=this.rules.table.exec(e))){e=e.substring(r[0].length);h={type:"table",header:r[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3].replace(/(?: *\| *)?\n$/,"").split("\n")};for(u=0;u])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:o,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:o,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/;n.link=l(n.link)("inside",n._inside)("href",n._href)();n.reflink=l(n.reflink)("inside",n._inside)();n.normal=h({},n);n.pedantic=h({},n.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/});n.gfm=h({},n.normal,{escape:l(n.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:l(n.text)("]|","~]|")("|","|https?://|")()});n.breaks=h({},n.gfm,{br:l(n.br)("{2,}","*")(),text:l(n.gfm.text)("{2,}","*")()});function s(t,e){this.options=e||a.defaults;this.links=t;this.rules=n.normal;if(!this.links){throw new Error("Tokens array requires a `links` property.")}if(this.options.gfm){if(this.options.breaks){this.rules=n.breaks}else{this.rules=n.gfm}}else if(this.options.pedantic){this.rules=n.pedantic}}s.rules=n;s.output=function(t,e,n){var i=new s(e,n);return i.output(t)};s.prototype.output=function(t){var e="",n,s,i,l;while(t){if(l=this.rules.escape.exec(t)){t=t.substring(l[0].length);e+=l[1];continue}if(l=this.rules.autolink.exec(t)){t=t.substring(l[0].length);if(l[2]==="@"){s=l[1][6]===":"?this.mangle(l[1].substring(7)):this.mangle(l[1]);i=this.mangle("mailto:")+s}else{s=r(l[1]);i=s}e+=''+s+"";continue}if(l=this.rules.url.exec(t)){t=t.substring(l[0].length);s=r(l[1]);i=s;e+=''+s+"";continue}if(l=this.rules.tag.exec(t)){t=t.substring(l[0].length);e+=this.options.sanitize?r(l[0]):l[0];continue}if(l=this.rules.link.exec(t)){t=t.substring(l[0].length);e+=this.outputLink(l,{href:l[2],title:l[3]});continue}if((l=this.rules.reflink.exec(t))||(l=this.rules.nolink.exec(t))){t=t.substring(l[0].length);n=(l[2]||l[1]).replace(/\s+/g," ");n=this.links[n.toLowerCase()];if(!n||!n.href){e+=l[0][0];t=l[0].substring(1)+t;continue}e+=this.outputLink(l,n);continue}if(l=this.rules.strong.exec(t)){t=t.substring(l[0].length);e+=""+this.output(l[2]||l[1])+"";continue}if(l=this.rules.em.exec(t)){t=t.substring(l[0].length);e+=""+this.output(l[2]||l[1])+"";continue}if(l=this.rules.code.exec(t)){t=t.substring(l[0].length);e+=""+r(l[2],true)+"";continue}if(l=this.rules.br.exec(t)){t=t.substring(l[0].length);e+="
";continue}if(l=this.rules.del.exec(t)){t=t.substring(l[0].length);e+=""+this.output(l[1])+"";continue}if(l=this.rules.text.exec(t)){t=t.substring(l[0].length);e+=r(l[0]);continue}if(t){throw new Error("Infinite loop on byte: "+t.charCodeAt(0))}}return e};s.prototype.outputLink=function(t,e){if(t[0][0]!=="!"){return'"+this.output(t[1])+""}else{return'
"}};s.prototype.smartypants=function(t){if(!this.options.smartypants)return t;return t.replace(/--/g,"—").replace(/'([^']*)'/g,"‘$1’").replace(/"([^"]*)"/g,"“$1”").replace(/\.{3}/g,"…")};s.prototype.mangle=function(t){var e="",n=t.length,s=0,i;for(;s.5){i="x"+i.toString(16)}e+=""+i+";"}return e};function i(t){this.tokens=[];this.token=null;this.options=t||a.defaults}i.parse=function(t,e){var n=new i(e);return n.parse(t)};i.prototype.parse=function(t){this.inline=new s(t.links,this.options);this.tokens=t.reverse();var e="";while(this.next()){e+=this.tok()}return e};i.prototype.next=function(){return this.token=this.tokens.pop()};i.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0};i.prototype.parseText=function(){var t=this.token.text;while(this.peek().type==="text"){t+="\n"+this.next().text}return this.inline.output(t)};i.prototype.tok=function(){switch(this.token.type){case"space":{return""}case"hr":{return"
\n"}case"heading":{return""+this.inline.output(this.token.text)+"\n"}case"code":{if(this.options.highlight){var t=this.options.highlight(this.token.text,this.token.lang);if(t!=null&&t!==this.token.text){this.token.escaped=true;this.token.text=t}}if(!this.token.escaped){this.token.text=r(this.token.text,true)}return""+this.token.text+"
\n"}case"table":{var e="",n,s,i,l,o;e+="\n\n";for(s=0;s'+n+"\n":"| "+n+" | \n"}e+="
\n\n";e+="\n";for(s=0;s\n";for(o=0;o'+l+"\n":""+l+" | \n"}e+="\n"}e+="\n";return"\n"}case"blockquote_start":{var e="";while(this.next().type!=="blockquote_end"){e+=this.tok()}return"\n"+e+"
\n"}case"list_start":{var h=this.token.ordered?"ol":"ul",e="";while(this.next().type!=="list_end"){e+=this.tok()}return"<"+h+">\n"+e+""+h+">\n"}case"list_item_start":{var e="";while(this.next().type!=="list_item_end"){e+=this.token.type==="text"?this.parseText():this.tok()}return""+e+"\n"}case"loose_item_start":{var e="";while(this.next().type!=="list_item_end"){e+=this.tok()}return""+e+"\n"}case"html":{return!this.token.pre&&!this.options.pedantic?this.inline.output(this.token.text):this.token.text}case"paragraph":{return""+this.inline.output(this.token.text)+"
\n"}case"text":{return""+this.parseText()+"
\n"}}};function r(t,e){return t.replace(!e?/&(?!#?\w+;)/g:/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function l(t,e){t=t.source;e=e||"";return function n(s,i){if(!s)return new RegExp(t,e);i=i.source||i;i=i.replace(/(^|[^\[])\^/g,"$1");t=t.replace(s,i);return n}}function o(){}o.exec=o;function h(t){var e=1,n,s;for(;eAn error occured:
"+r(f.message+"",true)+"
"}throw f}}a.options=a.setOptions=function(t){h(a.defaults,t);return a};a.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,smartLists:false,silent:false,highlight:null,langPrefix:"lang-"};a.Parser=i;a.parser=i.parse;a.Lexer=e;a.lexer=e.lex;a.InlineLexer=s;a.inlineLexer=s.output;a.parse=a;if(typeof exports==="object"){module.exports=a}else if(typeof define==="function"&&define.amd){define(function(){return a})}else{this.marked=a}}).call(function(){return this||(typeof window!=="undefined"?window:global)}());
+
+/*!
+ * base64.js
+ * http://github.com/dankogai/js-base64
+ */
+
+(function(r){"use strict";if(r.Base64)return;var e="2.1.2";var t;if(typeof module!=="undefined"&&module.exports){t=require("buffer").Buffer}var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var a=function(r){var e={};for(var t=0,n=r.length;t>>6)+o(128|e&63):o(224|e>>>12&15)+o(128|e>>>6&63)+o(128|e&63)}else{var e=65536+(r.charCodeAt(0)-55296)*1024+(r.charCodeAt(1)-56320);return o(240|e>>>18&7)+o(128|e>>>12&63)+o(128|e>>>6&63)+o(128|e&63)}};var c=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;var i=function(r){return r.replace(c,u)};var f=function(r){var e=[0,2,1][r.length%3],t=r.charCodeAt(0)<<16|(r.length>1?r.charCodeAt(1):0)<<8|(r.length>2?r.charCodeAt(2):0),a=[n.charAt(t>>>18),n.charAt(t>>>12&63),e>=2?"=":n.charAt(t>>>6&63),e>=1?"=":n.charAt(t&63)];return a.join("")};var h=r.btoa||function(r){return r.replace(/[\s\S]{1,3}/g,f)};var d=t?function(r){return new t(r).toString("base64")}:function(r){return h(i(r))};var v=function(r,e){return!e?d(r):d(r).replace(/[+\/]/g,function(r){return r=="+"?"-":"_"}).replace(/=/g,"")};var g=function(r){return v(r,true)};var l=new RegExp(["[À-ß][-¿]","[à-ï][-¿]{2}","[ð-÷][-¿]{3}"].join("|"),"g");var A=function(r){switch(r.length){case 4:var e=(7&r.charCodeAt(0))<<18|(63&r.charCodeAt(1))<<12|(63&r.charCodeAt(2))<<6|63&r.charCodeAt(3),t=e-65536;return o((t>>>10)+55296)+o((t&1023)+56320);case 3:return o((15&r.charCodeAt(0))<<12|(63&r.charCodeAt(1))<<6|63&r.charCodeAt(2));default:return o((31&r.charCodeAt(0))<<6|63&r.charCodeAt(1))}};var s=function(r){return r.replace(l,A)};var p=function(r){var e=r.length,t=e%4,n=(e>0?a[r.charAt(0)]<<18:0)|(e>1?a[r.charAt(1)]<<12:0)|(e>2?a[r.charAt(2)]<<6:0)|(e>3?a[r.charAt(3)]:0),u=[o(n>>>16),o(n>>>8&255),o(n&255)];u.length-=[0,0,2,1][t];return u.join("")};var C=r.atob||function(r){return r.replace(/[\s\S]{1,4}/g,p)};var b=t?function(r){return new t(r,"base64").toString()}:function(r){return s(C(r))};var B=function(r){return b(r.replace(/[-_]/g,function(r){return r=="-"?"+":"/"}).replace(/[^A-Za-z0-9\+\/]/g,""))};r.Base64={VERSION:e,atob:C,btoa:h,fromBase64:B,toBase64:v,utob:i,encode:v,encodeURI:g,btou:s,decode:B};if(typeof Object.defineProperty==="function"){var S=function(r){return{value:r,enumerable:false,writable:true,configurable:true}};r.Base64.extendString=function(){Object.defineProperty(String.prototype,"fromBase64",S(function(){return B(this)}));Object.defineProperty(String.prototype,"toBase64",S(function(r){return v(this,r)}));Object.defineProperty(String.prototype,"toBase64URI",S(function(){return v(this,true)}))}}})(this);
+
+/*!
+ * node-parameterize 0.0.7
+ * https://github.com/fyalavuz/node-parameterize
+ * Exported as `Flatdoc.slugify`
+ */
+
+(function(r){var LATIN_MAP={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ő":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ű":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ő":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ű":"u","ý":"y","þ":"th","ÿ":"y"};var LATIN_SYMBOLS_MAP={"©":"(c)"};var GREEK_MAP={"α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ά":"a","έ":"e","ί":"i","ό":"o","ύ":"y","ή":"h","ώ":"w","ς":"s","ϊ":"i","ΰ":"y","ϋ":"y","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ά":"A","Έ":"E","Ί":"I","Ό":"O","Ύ":"Y","Ή":"H","Ώ":"W","Ϊ":"I","Ϋ":"Y"};var TURKISH_MAP={"ş":"s","Ş":"S","ı":"i","İ":"I","ç":"c","Ç":"C","ü":"u","Ü":"U","ö":"o","Ö":"O","ğ":"g","Ğ":"G"};var RUSSIAN_MAP={"а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ё":"yo","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ё":"Yo","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya"};var UKRAINIAN_MAP={"Є":"Ye","І":"I","Ї":"Yi","Ґ":"G","є":"ye","і":"i","ї":"yi","ґ":"g"};var CZECH_MAP={"č":"c","ď":"d","ě":"e","ň":"n","ř":"r","š":"s","ť":"t","ů":"u","ž":"z","Č":"C","Ď":"D","Ě":"E","Ň":"N","Ř":"R","Š":"S","Ť":"T","Ů":"U","Ž":"Z"};var POLISH_MAP={"ą":"a","ć":"c","ę":"e","ł":"l","ń":"n","ó":"o","ś":"s","ź":"z","ż":"z","Ą":"A","Ć":"C","Ę":"e","Ł":"L","Ń":"N","Ó":"o","Ś":"S","Ź":"Z","Ż":"Z"};var LATVIAN_MAP={"ā":"a","č":"c","ē":"e","ģ":"g","ī":"i","ķ":"k","ļ":"l","ņ":"n","š":"s","ū":"u","ž":"z","Ā":"A","Č":"C","Ē":"E","Ģ":"G","Ī":"i","Ķ":"k","Ļ":"L","Ņ":"N","Š":"S","Ū":"u","Ž":"Z"};var ALL_DOWNCODE_MAPS=new Array;ALL_DOWNCODE_MAPS[0]=LATIN_MAP;ALL_DOWNCODE_MAPS[1]=LATIN_SYMBOLS_MAP;ALL_DOWNCODE_MAPS[2]=GREEK_MAP;ALL_DOWNCODE_MAPS[3]=TURKISH_MAP;ALL_DOWNCODE_MAPS[4]=RUSSIAN_MAP;ALL_DOWNCODE_MAPS[5]=UKRAINIAN_MAP;ALL_DOWNCODE_MAPS[6]=CZECH_MAP;ALL_DOWNCODE_MAPS[7]=POLISH_MAP;ALL_DOWNCODE_MAPS[8]=LATVIAN_MAP;var Downcoder=new Object;Downcoder.Initialize=function(){if(Downcoder.map)return;Downcoder.map={};Downcoder.chars="";for(var i in ALL_DOWNCODE_MAPS){var lookup=ALL_DOWNCODE_MAPS[i];for(var c in lookup){Downcoder.map[c]=lookup[c];Downcoder.chars+=c}}Downcoder.regex=new RegExp("["+Downcoder.chars+"]|[^"+Downcoder.chars+"]+","g")};downcode=function(slug){Downcoder.Initialize();var downcoded="";var pieces=slug.match(Downcoder.regex);if(pieces){for(var i=0;iarticle,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}";
+c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
+"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();
+for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d
+ fakeBody = doc.createElement( "body" ),
+ div = doc.createElement( "div" );
+
+ div.id = "mq-test-1";
+ div.style.cssText = "position:absolute;top:-100em";
+ fakeBody.style.background = "none";
+ fakeBody.appendChild(div);
+
+ return function(q){
+
+ div.innerHTML = "";
+
+ docElem.insertBefore( fakeBody, refNode );
+ bool = div.offsetWidth === 42;
+ docElem.removeChild( fakeBody );
+
+ return {
+ matches: bool,
+ media: q
+ };
+
+ };
+
+}( document ));
+
+
+
+
+
+/*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */
+(function( win ){
+
+ "use strict";
+
+ //exposed namespace
+ var respond = {};
+ win.respond = respond;
+
+ //define update even in native-mq-supporting browsers, to avoid errors
+ respond.update = function(){};
+
+ //expose media query support flag for external use
+ respond.mediaQueriesSupported = win.matchMedia && win.matchMedia( "only all" ).matches;
+
+ //if media queries are supported, exit here
+ if( respond.mediaQueriesSupported ){
+ return;
+ }
+
+ //define vars
+ var doc = win.document,
+ docElem = doc.documentElement,
+ mediastyles = [],
+ rules = [],
+ appendedEls = [],
+ parsedSheets = {},
+ resizeThrottle = 30,
+ head = doc.getElementsByTagName( "head" )[0] || docElem,
+ base = doc.getElementsByTagName( "base" )[0],
+ links = head.getElementsByTagName( "link" ),
+ requestQueue = [],
+
+ //loop stylesheets, send text content to translate
+ ripCSS = function(){
+
+ for( var i = 0; i < links.length; i++ ){
+ var sheet = links[ i ],
+ href = sheet.href,
+ media = sheet.media,
+ isCSS = sheet.rel && sheet.rel.toLowerCase() === "stylesheet";
+
+ //only links plz and prevent re-parsing
+ if( !!href && isCSS && !parsedSheets[ href ] ){
+ // selectivizr exposes css through the rawCssText expando
+ if (sheet.styleSheet && sheet.styleSheet.rawCssText) {
+ translate( sheet.styleSheet.rawCssText, href, media );
+ parsedSheets[ href ] = true;
+ } else {
+ if( (!/^([a-zA-Z:]*\/\/)/.test( href ) && !base) ||
+ href.replace( RegExp.$1, "" ).split( "/" )[0] === win.location.host ){
+ requestQueue.push( {
+ href: href,
+ media: media
+ } );
+ }
+ }
+ }
+ }
+ makeRequests();
+ },
+
+ //recurse through request queue, get css text
+ makeRequests = function(){
+ if( requestQueue.length ){
+ var thisRequest = requestQueue.shift();
+
+ ajax( thisRequest.href, function( styles ){
+ translate( styles, thisRequest.href, thisRequest.media );
+ parsedSheets[ thisRequest.href ] = true;
+
+ // by wrapping recursive function call in setTimeout
+ // we prevent "Stack overflow" error in IE7
+ win.setTimeout(function(){ makeRequests(); },0);
+ } );
+ }
+ },
+
+ //find media blocks in css text, convert to style blocks
+ translate = function( styles, href, media ){
+ var qs = styles.match( /@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi ),
+ ql = qs && qs.length || 0;
+
+ //try to get CSS path
+ href = href.substring( 0, href.lastIndexOf( "/" ) );
+
+ var repUrls = function( css ){
+ return css.replace( /(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g, "$1" + href + "$2$3" );
+ },
+ useMedia = !ql && media;
+
+ //if path exists, tack on trailing slash
+ if( href.length ){ href += "/"; }
+
+ //if no internal queries exist, but media attr does, use that
+ //note: this currently lacks support for situations where a media attr is specified on a link AND
+ //its associated stylesheet has internal CSS media queries.
+ //In those cases, the media attribute will currently be ignored.
+ if( useMedia ){
+ ql = 1;
+ }
+
+ for( var i = 0; i < ql; i++ ){
+ var fullq, thisq, eachq, eql;
+
+ //media attr
+ if( useMedia ){
+ fullq = media;
+ rules.push( repUrls( styles ) );
+ }
+ //parse for styles
+ else{
+ fullq = qs[ i ].match( /@media *([^\{]+)\{([\S\s]+?)$/ ) && RegExp.$1;
+ rules.push( RegExp.$2 && repUrls( RegExp.$2 ) );
+ }
+
+ eachq = fullq.split( "," );
+ eql = eachq.length;
+
+ for( var j = 0; j < eql; j++ ){
+ thisq = eachq[ j ];
+ mediastyles.push( {
+ media : thisq.split( "(" )[ 0 ].match( /(only\s+)?([a-zA-Z]+)\s?/ ) && RegExp.$2 || "all",
+ rules : rules.length - 1,
+ hasquery : thisq.indexOf("(") > -1,
+ minw : thisq.match( /\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/ ) && parseFloat( RegExp.$1 ) + ( RegExp.$2 || "" ),
+ maxw : thisq.match( /\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/ ) && parseFloat( RegExp.$1 ) + ( RegExp.$2 || "" )
+ } );
+ }
+ }
+
+ applyMedia();
+ },
+
+ lastCall,
+
+ resizeDefer,
+
+ // returns the value of 1em in pixels
+ getEmValue = function() {
+ var ret,
+ div = doc.createElement('div'),
+ body = doc.body,
+ fakeUsed = false;
+
+ div.style.cssText = "position:absolute;font-size:1em;width:1em";
+
+ if( !body ){
+ body = fakeUsed = doc.createElement( "body" );
+ body.style.background = "none";
+ }
+
+ body.appendChild( div );
+
+ docElem.insertBefore( body, docElem.firstChild );
+
+ ret = div.offsetWidth;
+
+ if( fakeUsed ){
+ docElem.removeChild( body );
+ }
+ else {
+ body.removeChild( div );
+ }
+
+ //also update eminpx before returning
+ ret = eminpx = parseFloat(ret);
+
+ return ret;
+ },
+
+ //cached container for 1em value, populated the first time it's needed
+ eminpx,
+
+ //enable/disable styles
+ applyMedia = function( fromResize ){
+ var name = "clientWidth",
+ docElemProp = docElem[ name ],
+ currWidth = doc.compatMode === "CSS1Compat" && docElemProp || doc.body[ name ] || docElemProp,
+ styleBlocks = {},
+ lastLink = links[ links.length-1 ],
+ now = (new Date()).getTime();
+
+ //throttle resize calls
+ if( fromResize && lastCall && now - lastCall < resizeThrottle ){
+ win.clearTimeout( resizeDefer );
+ resizeDefer = win.setTimeout( applyMedia, resizeThrottle );
+ return;
+ }
+ else {
+ lastCall = now;
+ }
+
+ for( var i in mediastyles ){
+ if( mediastyles.hasOwnProperty( i ) ){
+ var thisstyle = mediastyles[ i ],
+ min = thisstyle.minw,
+ max = thisstyle.maxw,
+ minnull = min === null,
+ maxnull = max === null,
+ em = "em";
+
+ if( !!min ){
+ min = parseFloat( min ) * ( min.indexOf( em ) > -1 ? ( eminpx || getEmValue() ) : 1 );
+ }
+ if( !!max ){
+ max = parseFloat( max ) * ( max.indexOf( em ) > -1 ? ( eminpx || getEmValue() ) : 1 );
+ }
+
+ // if there's no media query at all (the () part), or min or max is not null, and if either is present, they're true
+ if( !thisstyle.hasquery || ( !minnull || !maxnull ) && ( minnull || currWidth >= min ) && ( maxnull || currWidth <= max ) ){
+ if( !styleBlocks[ thisstyle.media ] ){
+ styleBlocks[ thisstyle.media ] = [];
+ }
+ styleBlocks[ thisstyle.media ].push( rules[ thisstyle.rules ] );
+ }
+ }
+ }
+
+ //remove any existing respond style element(s)
+ for( var j in appendedEls ){
+ if( appendedEls.hasOwnProperty( j ) ){
+ if( appendedEls[ j ] && appendedEls[ j ].parentNode === head ){
+ head.removeChild( appendedEls[ j ] );
+ }
+ }
+ }
+
+ //inject active styles, grouped by media type
+ for( var k in styleBlocks ){
+ if( styleBlocks.hasOwnProperty( k ) ){
+ var ss = doc.createElement( "style" ),
+ css = styleBlocks[ k ].join( "\n" );
+
+ ss.type = "text/css";
+ ss.media = k;
+
+ //originally, ss was appended to a documentFragment and sheets were appended in bulk.
+ //this caused crashes in IE in a number of circumstances, such as when the HTML element had a bg image set, so appending beforehand seems best. Thanks to @dvelyk for the initial research on this one!
+ head.insertBefore( ss, lastLink.nextSibling );
+
+ if ( ss.styleSheet ){
+ ss.styleSheet.cssText = css;
+ }
+ else {
+ ss.appendChild( doc.createTextNode( css ) );
+ }
+
+ //push to appendedEls to track for later removal
+ appendedEls.push( ss );
+ }
+ }
+ },
+ //tweaked Ajax functions from Quirksmode
+ ajax = function( url, callback ) {
+ var req = xmlHttp();
+ if (!req){
+ return;
+ }
+ req.open( "GET", url, true );
+ req.onreadystatechange = function () {
+ if ( req.readyState !== 4 || req.status !== 200 && req.status !== 304 ){
+ return;
+ }
+ callback( req.responseText );
+ };
+ if ( req.readyState === 4 ){
+ return;
+ }
+ req.send( null );
+ },
+ //define ajax obj
+ xmlHttp = (function() {
+ var xmlhttpmethod = false;
+ try {
+ xmlhttpmethod = new win.XMLHttpRequest();
+ }
+ catch( e ){
+ xmlhttpmethod = new win.ActiveXObject( "Microsoft.XMLHTTP" );
+ }
+ return function(){
+ return xmlhttpmethod;
+ };
+ })();
+
+ //translate CSS
+ ripCSS();
+
+ //expose update for re-running respond later on
+ respond.update = ripCSS;
+
+ //adjust on resize
+ function callMedia(){
+ applyMedia( true );
+ }
+ if( win.addEventListener ){
+ win.addEventListener( "resize", callMedia, false );
+ }
+ else if( win.attachEvent ){
+ win.attachEvent( "onresize", callMedia );
+ }
+})(this);
diff --git a/flatdoc/v0.9.0/theme-white/script.js b/flatdoc/v0.9.0/theme-white/script.js
new file mode 100644
index 0000000..7ba961e
--- /dev/null
+++ b/flatdoc/v0.9.0/theme-white/script.js
@@ -0,0 +1,243 @@
+(function($) {
+ var $window = $(window);
+ var $document = $(document);
+
+ /*
+ * Scrollspy.
+ */
+
+ $document.on('flatdoc:ready', function() {
+ $("h2, h3").scrollagent(function(cid, pid, currentElement, previousElement) {
+ if (pid) {
+ $("[href='#"+pid+"']").removeClass('active');
+ }
+ if (cid) {
+ $("[href='#"+cid+"']").addClass('active');
+ }
+ });
+ });
+
+ /*
+ * Anchor jump links.
+ */
+
+ $document.on('flatdoc:ready', function() {
+ $('.menu a').anchorjump();
+ });
+
+ /*
+ * Title card.
+ */
+
+ $(function() {
+ var $card = $('.title-card');
+ if (!$card.length) return;
+
+ var $header = $('.header');
+ var headerHeight = $header.length ? $header.outerHeight() : 0;
+
+ $window
+ .on('resize.title-card', function() {
+ var windowWidth = $window.width();
+
+ if (windowWidth < 480) {
+ $card.css('height', '');
+ } else {
+ var height = $window.height();
+ $card.css('height', height - headerHeight);
+ }
+ })
+ .trigger('resize.title-card');
+ });
+
+ /*
+ * Sidebar stick.
+ */
+
+ $(function() {
+ var $sidebar = $('.menubar');
+ var elTop;
+
+ $window
+ .on('resize.sidestick', function() {
+ $sidebar.removeClass('fixed');
+ elTop = $sidebar.offset().top;
+ $window.trigger('scroll.sidestick');
+ })
+ .on('scroll.sidestick', function() {
+ var scrollY = $window.scrollTop();
+ $sidebar.toggleClass('fixed', (scrollY >= elTop));
+ })
+ .trigger('resize.sidestick');
+ });
+
+})(jQuery);
+/*! jQuery.scrollagent (c) 2012, Rico Sta. Cruz. MIT License.
+ * https://github.com/rstacruz/jquery-stuff/tree/master/scrollagent */
+
+// Call $(...).scrollagent() with a callback function.
+//
+// The callback will be called everytime the focus changes.
+//
+// Example:
+//
+// $("h2").scrollagent(function(cid, pid, currentElement, previousElement) {
+// if (pid) {
+// $("[href='#"+pid+"']").removeClass('active');
+// }
+// if (cid) {
+// $("[href='#"+cid+"']").addClass('active');
+// }
+// });
+
+(function($) {
+
+ $.fn.scrollagent = function(options, callback) {
+ // Account for $.scrollspy(function)
+ if (typeof callback === 'undefined') {
+ callback = options;
+ options = {};
+ }
+
+ var $sections = $(this);
+ var $parent = options.parent || $(window);
+
+ // Find the top offsets of each section
+ var offsets = [];
+ $sections.each(function(i) {
+ var offset = $(this).attr('data-anchor-offset') ?
+ parseInt($(this).attr('data-anchor-offset'), 10) :
+ (options.offset || 0);
+
+ offsets.push({
+ id: $(this).attr('id'),
+ index: i,
+ el: this,
+ offset: offset
+ });
+ });
+
+ // State
+ var current = null;
+ var height = null;
+ var range = null;
+
+ // Save the height. Do this only whenever the window is resized so we don't
+ // recalculate often.
+ $(window).on('resize', function() {
+ height = $parent.height();
+ range = $(document).height();
+ });
+
+ // Find the current active section every scroll tick.
+ $parent.on('scroll', function() {
+ var y = $parent.scrollTop();
+ y += height * (0.3 + 0.7 * Math.pow(y/range, 2));
+
+ var latest = null;
+
+ for (var i in offsets) {
+ if (offsets.hasOwnProperty(i)) {
+ var offset = offsets[i];
+ if ($(offset.el).offset().top + offset.offset < y) latest = offset;
+ }
+ }
+
+ if (latest && (!current || (latest.index !== current.index))) {
+ callback.call($sections,
+ latest ? latest.id : null,
+ current ? current.id : null,
+ latest ? latest.el : null,
+ current ? current.el : null);
+ current = latest;
+ }
+ });
+
+ $(window).trigger('resize');
+ $parent.trigger('scroll');
+
+ return this;
+ };
+
+})(jQuery);
+/*! Anchorjump (c) 2012, Rico Sta. Cruz. MIT License.
+ * http://github.com/rstacruz/jquery-stuff/tree/master/anchorjump */
+
+// Makes anchor jumps happen with smooth scrolling.
+//
+// $("#menu a").anchorjump();
+// $("#menu a").anchorjump({ offset: -30 });
+//
+// // Via delegate:
+// $("#menu").anchorjump({ for: 'a', offset: -30 });
+//
+// You may specify a parent. This makes it scroll down to the parent.
+// Great for tabbed views.
+//
+// $('#menu a').anchorjump({ parent: '.anchor' });
+//
+// You can jump to a given area.
+//
+// $.anchorjump('#bank-deposit', options);
+
+(function($) {
+ var defaults = {
+ 'speed': 500,
+ 'offset': 0,
+ 'for': null,
+ 'parent': null
+ };
+
+ $.fn.anchorjump = function(options) {
+ options = $.extend({}, defaults, options);
+
+ if (options['for']) {
+ this.on('click', options['for'], onClick);
+ } else {
+ this.on('click', onClick);
+ }
+
+ function onClick(e) {
+ var $a = $(e.target).closest('a');
+ if (e.ctrlKey || e.metaKey || e.altKey || $a.attr('target')) return;
+
+ e.preventDefault();
+ var href = $a.attr('href');
+
+ $.anchorjump(href, options);
+ }
+ };
+
+ // Jump to a given area.
+ $.anchorjump = function(href, options) {
+ options = $.extend({}, defaults, options);
+
+ var top = 0;
+
+ if (href != '#') {
+ var $area = $(href);
+ // Find the parent
+ if (options.parent) {
+ var $parent = $area.closest(options.parent);
+ if ($parent.length) { $area = $parent; }
+ }
+ if (!$area.length) { return; }
+
+ // Determine the pixel offset; use the default if not available
+ var offset =
+ $area.attr('data-anchor-offset') ?
+ parseInt($area.attr('data-anchor-offset'), 10) :
+ options.offset;
+
+ top = Math.max(0, $area.offset().top + offset);
+ }
+
+ $('html, body').animate({ scrollTop: top }, options.speed);
+ $('body').trigger('anchor', href);
+
+ // Add the location hash via pushState.
+ if (window.history.pushState) {
+ window.history.pushState({ href: href }, "", href);
+ }
+ };
+})(jQuery);
diff --git a/flatdoc/v0.9.0/theme-white/style.css b/flatdoc/v0.9.0/theme-white/style.css
new file mode 100644
index 0000000..cfbf253
--- /dev/null
+++ b/flatdoc/v0.9.0/theme-white/style.css
@@ -0,0 +1,879 @@
+/*
+
+Please don't edit this file directly.
+Instead, edit the stylus (.styl) files and compile it to CSS on your machine.
+
+*/
+/* ----------------------------------------------------------------------------
+ * Fonts
+ */
+@import url("//fonts.googleapis.com/css?family=Montserrat:700|Open+Sans:300");
+/* ----------------------------------------------------------------------------
+ * Base
+ */
+html,
+body,
+div,
+span,
+applet,
+object,
+iframe,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+p,
+blockquote,
+pre,
+a,
+abbr,
+acronym,
+address,
+big,
+cite,
+code,
+del,
+dfn,
+em,
+img,
+ins,
+kbd,
+q,
+s,
+samp,
+small,
+strike,
+strong,
+sub,
+sup,
+tt,
+var,
+dl,
+dt,
+dd,
+ol,
+ul,
+li,
+fieldset,
+form,
+label,
+legend,
+table,
+caption,
+tbody,
+tfoot,
+thead,
+tr,
+th,
+td {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ outline: 0;
+ font-weight: inherit;
+ font-style: inherit;
+ font-family: inherit;
+ font-size: 100%;
+ vertical-align: baseline;
+}
+body {
+ line-height: 1;
+ color: #000;
+ background: #fff;
+}
+ol,
+ul {
+ list-style: none;
+}
+table {
+ border-collapse: separate;
+ border-spacing: 0;
+ vertical-align: middle;
+}
+caption,
+th,
+td {
+ text-align: left;
+ font-weight: normal;
+ vertical-align: middle;
+}
+a img {
+ border: none;
+}
+html,
+body {
+ height: 100%;
+}
+html {
+ overflow-x: hidden;
+}
+body,
+td,
+textarea,
+input {
+ font-family: Helvetica Neue, Open Sans, sans-serif;
+ line-height: 1.6;
+ font-size: 13px;
+ color: #505050;
+}
+@media (max-width: 480px) {
+ body,
+ td,
+ textarea,
+ input {
+ font-size: 12px;
+ }
+}
+a {
+ color: #2badad;
+ text-decoration: none;
+}
+a:hover {
+ color: #228a8a;
+}
+/* ----------------------------------------------------------------------------
+ * Content styling
+ */
+.content p,
+.content ul,
+.content ol,
+.content h1,
+.content h2,
+.content h3,
+.content h4,
+.content h5,
+.content h6,
+.content pre,
+.content blockquote {
+ padding: 10px 0;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.content h1,
+.content h2,
+.content h3,
+.content h4,
+.content h5,
+.content h6 {
+ font-weight: bold;
+ -webkit-font-smoothing: antialiased;
+ text-rendering: optimizeLegibility;
+}
+.content pre {
+ font-family: Menlo, monospace;
+}
+.content ul > li {
+ list-style-type: disc;
+}
+.content ol > li {
+ list-style-type: decimal;
+}
+.content ul,
+.content ol {
+ margin-left: 20px;
+}
+.content ul > li {
+ list-style-type: none;
+ position: relative;
+}
+.content ul > li:before {
+ content: '';
+ display: block;
+ position: absolute;
+ left: -17px;
+ top: 7px;
+ width: 5px;
+ height: 5px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ background: #fff;
+ border: solid 1px #9090aa;
+}
+.content li > :first-child {
+ padding-top: 0;
+}
+.content strong,
+.content b {
+ font-weight: bold;
+}
+.content i,
+.content em {
+ font-style: italic;
+ color: #9090aa;
+}
+.content code {
+ font-family: Menlo, monospace;
+ background: #f3f6fb;
+ padding: 1px 3px;
+ font-size: 0.95em;
+}
+.content pre > code {
+ display: block;
+ background: transparent;
+ font-size: 0.85em;
+ letter-spacing: -1px;
+}
+.content blockquote :first-child {
+ padding-top: 0;
+}
+.content blockquote :last-child {
+ padding-bottom: 0;
+}
+.content table {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding: 0;
+ border-collapse: collapse;
+ clear: both;
+}
+.content table tr {
+ border-top: 1px solid #ccc;
+ background-color: #fff;
+ margin: 0;
+ padding: 0;
+}
+.content table tr :nth-child(2n) {
+ background-color: #f8f8f8;
+}
+.content table tr th {
+ text-align: auto;
+ font-weight: bold;
+ border: 1px solid #ccc;
+ margin: 0;
+ padding: 6px 13px;
+}
+.content table tr td {
+ text-align: auto;
+ border: 1px solid #ccc;
+ margin: 0;
+ padding: 6px 13px;
+}
+.content table tr th :first-child,
+.content table tr td :first-child {
+ margin-top: 0;
+}
+.content table tr th :last-child,
+.content table tr td :last-child {
+ margin-bottom: 0;
+}
+/* ----------------------------------------------------------------------------
+ * Content
+ */
+.content-root {
+ min-height: 90%;
+ position: relative;
+}
+.content {
+ padding-top: 30px;
+ padding-bottom: 40px;
+ padding-left: 40px;
+ padding-right: 40px;
+ zoom: 1;
+ max-width: 700px;
+}
+.content:before,
+.content:after {
+ content: "";
+ display: table;
+}
+.content:after {
+ clear: both;
+}
+.content blockquote {
+ color: #9090aa;
+ text-shadow: 0 1px 0 rgba(255,255,255,0.5);
+}
+.content h1,
+.content h2,
+.content h3 {
+ -webkit-font-smoothing: antialiased;
+ text-rendering: optimizeLegibility;
+ font-family: montserrat;
+ padding-bottom: 0;
+}
+.content h1 + p,
+.content h2 + p,
+.content h3 + p,
+.content h1 ul,
+.content h2 ul,
+.content h3 ul,
+.content h1 ol,
+.content h2 ol,
+.content h3 ol {
+ padding-top: 10px;
+}
+.content h1,
+.content h2 {
+ text-transform: uppercase;
+ letter-spacing: 1px;
+ font-size: 1.5em;
+}
+.content h3 {
+ font-size: 1.2em;
+}
+.content h1,
+.content h2,
+.content .big-heading,
+body.big-h3 .content h3 {
+ padding-top: 80px;
+}
+.content h1:before,
+.content h2:before,
+.content .big-heading:before,
+body.big-h3 .content h3:before {
+ display: block;
+ content: '';
+ background: -webkit-gradient(linear, left top, right top, color-stop(0.8, #dfe2e7), color-stop(1, rgba(223,226,231,0)));
+ background: -webkit-linear-gradient(left, #dfe2e7 80%, rgba(223,226,231,0) 100%);
+ background: -moz-linear-gradient(left, #dfe2e7 80%, rgba(223,226,231,0) 100%);
+ background: -o-linear-gradient(left, #dfe2e7 80%, rgba(223,226,231,0) 100%);
+ background: -ms-linear-gradient(left, #dfe2e7 80%, rgba(223,226,231,0) 100%);
+ background: linear-gradient(left, #dfe2e7 80%, rgba(223,226,231,0) 100%);
+ -webkit-box-shadow: 0 1px 0 rgba(255,255,255,0.4);
+ box-shadow: 0 1px 0 rgba(255,255,255,0.4);
+ height: 1px;
+ position: relative;
+ top: -40px;
+ left: -40px;
+ width: 100%;
+}
+@media (max-width: 768px) {
+ .content h1,
+ .content h2,
+ .content .big-heading,
+body.big-h3 .content h3 {
+ padding-top: 40px;
+ }
+ .content h1:before,
+ .content h2:before,
+ .content .big-heading:before,
+body.big-h3 .content h3:before {
+ background: #dfe2e7;
+ left: -40px;
+ top: -20px;
+ width: 120%;
+ }
+}
+.content h4,
+.content h5,
+.content .small-heading,
+body:not(.big-h3) .content h3 {
+ border-bottom: solid 1px rgba(0,0,0,0.07);
+ color: #9090aa;
+ padding-top: 30px;
+ padding-bottom: 10px;
+}
+body:not(.big-h3) .content h3 {
+ font-size: 0.9em;
+}
+.content h1:first-child {
+ padding-top: 0;
+}
+.content h1:first-child,
+.content h1:first-child a,
+.content h1:first-child a:visited {
+ color: #505050;
+}
+.content h1:first-child:before {
+ display: none;
+}
+@media (max-width: 768px) {
+ .content h4,
+ .content h5,
+ .content .small-heading,
+ body:not(.big-h3) .content h3 {
+ padding-top: 20px;
+ }
+}
+@media (max-width: 480px) {
+ .content {
+ padding: 20px;
+ padding-top: 40px;
+ }
+ .content h4,
+ .content h5,
+ .content .small-heading,
+ body:not(.big-h3) .content h3 {
+ padding-top: 10px;
+ }
+}
+body.no-literate .content pre > code {
+ background: #f3f6fb;
+ border: solid 1px #e7eaee;
+ border-top: solid 1px #dbdde2;
+ border-left: solid 1px #e2e5e9;
+ display: block;
+ padding: 10px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
+ overflow: auto;
+}
+body.no-literate .content pre > code {
+ -webkit-overflow-scrolling: touch;
+}
+body.no-literate .content pre > code::-webkit-scrollbar {
+ width: 15px;
+ height: 15px;
+}
+body.no-literate .content pre > code::-webkit-scrollbar-thumb {
+ background: #ddd;
+ -webkit-border-radius: 8px;
+ border-radius: 8px;
+ border: solid 4px #f3f6fb;
+}
+body.no-literate .content pre > code:hover::-webkit-scrollbar-thumb {
+ background: #999;
+ -webkit-box-shadow: inset 2px 2px 3px rgba(0,0,0,0.2);
+ box-shadow: inset 2px 2px 3px rgba(0,0,0,0.2);
+}
+@media (max-width: 1180px) {
+ .content pre > code {
+ background: #f3f6fb;
+ border: solid 1px #e7eaee;
+ border-top: solid 1px #dbdde2;
+ border-left: solid 1px #e2e5e9;
+ display: block;
+ padding: 10px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
+ overflow: auto;
+ }
+ .content pre > code {
+ -webkit-overflow-scrolling: touch;
+ }
+ .content pre > code::-webkit-scrollbar {
+ width: 15px;
+ height: 15px;
+ }
+ .content pre > code::-webkit-scrollbar-thumb {
+ background: #ddd;
+ -webkit-border-radius: 8px;
+ border-radius: 8px;
+ border: solid 4px #f3f6fb;
+ }
+ .content pre > code:hover::-webkit-scrollbar-thumb {
+ background: #999;
+ -webkit-box-shadow: inset 2px 2px 3px rgba(0,0,0,0.2);
+ box-shadow: inset 2px 2px 3px rgba(0,0,0,0.2);
+ }
+}
+.button {
+ -webkit-font-smoothing: antialiased;
+ text-rendering: optimizeLegibility;
+ font-family: montserrat, sans-serif;
+ letter-spacing: -1px;
+ font-weight: bold;
+ display: inline-block;
+ padding: 3px 25px;
+ border: solid 2px #2badad;
+ -webkit-border-radius: 20px;
+ border-radius: 20px;
+ margin-right: 15px;
+}
+.button,
+.button:visited {
+ background: #2badad;
+ color: #fff;
+ text-shadow: none;
+}
+.button:hover {
+ border-color: #111;
+ background: #111;
+ color: #fff;
+}
+.button.light,
+.button.light:visited {
+ background: transparent;
+ color: #9090aa;
+ border-color: #9090aa;
+ text-shadow: none;
+}
+.button.light:hover {
+ border-color: #9090aa;
+ background: #9090aa;
+ color: #fff;
+}
+.content .button + em {
+ color: #9090aa;
+}
+@media (min-width: 1180px) {
+ body:not(.no-literate) .content-root {
+ background-color: #f3f6fb;
+ -webkit-box-shadow: inset 780px 0 #fff, inset 781px 0 #dfe2e7, inset 790px 0 5px -10px rgba(0,0,0,0.1);
+ box-shadow: inset 780px 0 #fff, inset 781px 0 #dfe2e7, inset 790px 0 5px -10px rgba(0,0,0,0.1);
+ }
+}
+@media (min-width: 1180px) {
+ body:not(.no-literate) .content {
+ padding-left: 0;
+ padding-right: 0;
+ width: 930px;
+ max-width: none;
+ }
+ body:not(.no-literate) .content > p,
+ body:not(.no-literate) .content > ul,
+ body:not(.no-literate) .content > ol,
+ body:not(.no-literate) .content > h1,
+ body:not(.no-literate) .content > h2,
+ body:not(.no-literate) .content > h3,
+ body:not(.no-literate) .content > h4,
+ body:not(.no-literate) .content > h5,
+ body:not(.no-literate) .content > h6,
+ body:not(.no-literate) .content > pre,
+ body:not(.no-literate) .content > blockquote {
+ width: 550px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ padding-right: 40px;
+ padding-left: 40px;
+ }
+ body:not(.no-literate) .content > h1,
+ body:not(.no-literate) .content > h2,
+ body:not(.no-literate) .content > h3 {
+ clear: both;
+ width: 100%;
+ }
+ body:not(.no-literate) .content > pre,
+ body:not(.no-literate) .content > blockquote {
+ width: 380px;
+ padding-left: 20px;
+ padding-right: 20px;
+ float: right;
+ clear: right;
+ }
+ body:not(.no-literate) .content > pre + p,
+ body:not(.no-literate) .content > blockquote + p,
+ body:not(.no-literate) .content > pre + ul,
+ body:not(.no-literate) .content > blockquote + ul,
+ body:not(.no-literate) .content > pre + ol,
+ body:not(.no-literate) .content > blockquote + ol,
+ body:not(.no-literate) .content > pre + h4,
+ body:not(.no-literate) .content > blockquote + h4,
+ body:not(.no-literate) .content > pre + h5,
+ body:not(.no-literate) .content > blockquote + h5,
+ body:not(.no-literate) .content > pre + h6,
+ body:not(.no-literate) .content > blockquote + h6 {
+ clear: both;
+ }
+ body:not(.no-literate) .content > p,
+ body:not(.no-literate) .content > ul,
+ body:not(.no-literate) .content > ol,
+ body:not(.no-literate) .content > h4,
+ body:not(.no-literate) .content > h5,
+ body:not(.no-literate) .content > h6 {
+ float: left;
+ clear: left;
+ }
+ body:not(.no-literate) .content > h4,
+ body:not(.no-literate) .content > h5,
+ body:not(.no-literate) .content > .small-heading,
+ body:not(.big-h3) body:not(.no-literate) .content > h3 {
+ margin-left: 40px;
+ width: 470px;
+ margin-bottom: 3px;
+ padding-left: 0;
+ padding-right: 0;
+ }
+ body:not(.no-literate) .content > table {
+ margin-left: 40px;
+ margin-right: 40px;
+ max-width: 470px;
+ }
+ body:not(.no-literate):not(.big-h3) .content > h3 {
+ margin-left: 40px;
+ width: 470px;
+ margin-bottom: 3px;
+ padding-left: 0;
+ padding-right: 0;
+ }
+}
+.header {
+ background: #f3f6fb;
+ text-shadow: 0 1px 0 rgba(255,255,255,0.5);
+ border-bottom: solid 1px #dfe2e7;
+ padding: 15px 15px 15px 30px;
+ zoom: 1;
+ line-height: 20px;
+ position: relative;
+}
+.header:before,
+.header:after {
+ content: "";
+ display: table;
+}
+.header:after {
+ clear: both;
+}
+.header .left {
+ float: left;
+}
+.header .right {
+ text-align: right;
+ position: absolute;
+ right: 15px;
+ top: 15px;
+}
+.header .right iframe {
+ display: inline-block;
+ vertical-align: middle;
+}
+.header h1 {
+ -webkit-font-smoothing: antialiased;
+ text-rendering: optimizeLegibility;
+ font-weight: bold;
+ font-family: montserrat, sans-serif;
+ font-size: 13px;
+}
+.header h1,
+.header h1 a,
+.header h1 a:visited {
+ color: #9090aa;
+}
+.header h1 a:hover {
+ color: #505050;
+}
+.header li a {
+ font-size: 0.88em;
+ color: #9090aa;
+ display: block;
+}
+.header li a:hover {
+ color: #3a3a44;
+}
+@media (min-width: 480px) {
+ .header h1 {
+ float: left;
+ }
+ .header ul,
+ .header li {
+ display: block;
+ float: left;
+ }
+ .header ul {
+ margin-left: -15px;
+ }
+ .header h1 + ul {
+ border-left: solid 1px #dfe2e7;
+ margin-left: 15px;
+ }
+ .header li {
+ border-left: solid 1px rgba(255,255,255,0.5);
+ border-right: solid 1px #dfe2e7;
+ }
+ .header li:last-child {
+ border-right: 0;
+ }
+ .header li a {
+ padding: 0 15px;
+ }
+}
+@media (max-width: 480px) {
+ .right {
+ display: none;
+ }
+}
+.menubar {
+ -webkit-font-smoothing: antialiased;
+ text-rendering: optimizeLegibility;
+}
+.menubar .section {
+ padding: 30px 30px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.menubar .section + .section {
+ border-top: solid 1px #dfe2e7;
+}
+.menubar .section.no-line {
+ border-top: 0;
+ padding-top: 0;
+}
+a.big.button {
+ display: block;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ width: 100%;
+ padding: 10px 20px;
+ text-align: center;
+ font-weight: bold;
+ font-size: 1.1em;
+ background: transparent;
+ border: solid 3px #2badad;
+ -webkit-border-radius: 30px;
+ border-radius: 30px;
+ font-family: montserrat, sans-serif;
+}
+a.big.button,
+a.big.button:visited {
+ color: #2badad;
+ text-decoration: none;
+}
+a.big.button:hover {
+ background: #2badad;
+}
+a.big.button:hover,
+a.big.button:hover:visited {
+ color: #fff;
+}
+@media (max-width: 480px) {
+ .menubar {
+ padding: 20px;
+ border-bottom: solid 1px #dfe2e7;
+ }
+}
+@media (max-width: 768px) {
+ .menubar {
+ display: none;
+ }
+}
+@media (min-width: 768px) {
+ .content-root {
+ padding-left: 230px;
+ }
+ .menubar {
+ position: absolute;
+ left: 0;
+ top: 0;
+ bottom: 0;
+ width: 230px;
+ border-right: solid 1px #dfe2e7;
+ }
+ .menubar.fixed {
+ position: fixed;
+ overflow-y: auto;
+ }
+ .menubar.fixed {
+ -webkit-overflow-scrolling: touch;
+ }
+ .menubar.fixed::-webkit-scrollbar {
+ width: 15px;
+ height: 15px;
+ }
+ .menubar.fixed::-webkit-scrollbar-thumb {
+ background: #ddd;
+ -webkit-border-radius: 8px;
+ border-radius: 8px;
+ border: solid 4px #fff;
+ }
+ .menubar.fixed:hover::-webkit-scrollbar-thumb {
+ background: #999;
+ -webkit-box-shadow: inset 2px 2px 3px rgba(0,0,0,0.2);
+ box-shadow: inset 2px 2px 3px rgba(0,0,0,0.2);
+ }
+}
+.menubar {
+ font-size: 0.9em;
+}
+.menu ul.level-1 > li + li {
+ margin-top: 20px;
+}
+.menu a {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ position: relative;
+ display: block;
+ padding-top: 1px;
+ padding-bottom: 1px;
+ margin-right: -30px;
+}
+.menu a,
+.menu a:visited {
+ color: #2badad;
+}
+.menu a:hover {
+ color: #228a8a;
+}
+.menu a.level-1 {
+ font-family: montserrat, sans-serif;
+ text-transform: uppercase;
+ font-size: 0.9em;
+ font-weight: bold;
+}
+.menu a.level-1,
+.menu a.level-1:visited {
+ color: #9090aa;
+}
+.menu a.level-1:hover {
+ color: #565666;
+}
+.menu a.level-2 {
+ font-weight: normal;
+}
+.menu a.level-3 {
+ font-weight: normal;
+ font-size: 0.9em;
+ padding-left: 10px;
+}
+.menu a.active {
+ font-weight: bold !important;
+}
+.menu a.active,
+.menu a.active:visited,
+.menu a.active:hover {
+ color: #505050 !important;
+}
+.menu a.active:after {
+ content: '';
+ display: block;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ position: absolute;
+ top: 10px;
+ right: 30px;
+ width: 9px;
+ height: 3px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
+ background: #2badad;
+}
+code .string,
+code .number {
+ color: #3ac;
+}
+code .init {
+ color: #383;
+}
+code .keyword {
+ font-weight: bold;
+}
+code .comment {
+ color: #adadcc;
+}
+.large-brief .content > h1:first-child + p,
+.content > p.brief {
+ font-size: 1.3em;
+ font-family: Open Sans, sans-serif;
+ font-weight: 300;
+}
+.title-area {
+ min-height: 100px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-font-smoothing: antialiased;
+ text-rendering: optimizeLegibility;
+ text-align: center;
+ border-bottom: solid 1px #dfe2e7;
+ overflow: hidden;
+}
+.title-area > img.bg {
+ z-index: 0;
+ position: absolute;
+ left: -9999px;
+}
+.title-area > div {
+ position: relative;
+ z-index: 1;
+}
+
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..356b971
--- /dev/null
+++ b/index.html
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+ Dark Water
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+