commit aea18887c0306b80b67764d5e3f0efde008d19be Author: Michael Rose Date: Fri May 24 10:25:31 2013 -0400 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..96f3a496 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +_site +.DS_Store +*.sublime-project +*.sublime-workspace +codekit-config.json +node_modules +_asset_bundler_cache +Gemfile.lock \ No newline at end of file diff --git a/Gemfile b/Gemfile new file mode 100644 index 00000000..8b0d7a2e --- /dev/null +++ b/Gemfile @@ -0,0 +1,6 @@ +source 'https://rubygems.org' + +gem 'jekyll' +gem 'jekyll-minibundle' +gem 'coderay' +gem 'rake' \ No newline at end of file diff --git a/_config.yml b/_config.yml new file mode 100644 index 00000000..9ac8b95d --- /dev/null +++ b/_config.yml @@ -0,0 +1,53 @@ +title: Minimal Mistakes +tagline: Jekyll Theme +description: A responsive Jekyll theme with editorial design tendencies. +url: http://mmistakes.github.io/minimal-mistakes + +# Owner/author information goes here. +owner: + name: Sweet Dood + avatar: "/images/200x200.png" + bio: "The greatest one line biography for the greatest dood." + email: sweetdood@mail.me + twitter: "@sweeeeeetdood" + google_plus: + +# Analytics and webmaster tools stuff goes here +google_analytics: +google_verify: +bing_verify: + +timezone: America/New_York +future: true +pygments: true +markdown: kramdown + +# https://github.com/mojombo/jekyll/wiki/Permalinks +permalink: /:categories/:title + +maruku: + use_tex: false + use_divs: false + png_engine: blahtex + png_dir: images/latex + png_url: /images/latex + +rdiscount: + extensions: [smart] + +kramdown: + auto_ids: true, + footnote_nr: 1 + entity_output: as_char + toc_levels: 1..6 + use_coderay: true + + coderay: + coderay_line_numbers: + coderay_line_numbers_start: 1 + coderay_tab_width: 4 + coderay_bold_every: 10 + coderay_css: class + +include: [".htaccess"] +exclude: ["lib", "config.rb", "Capfile", "config", "log", "Rakefile", "Rakefile.rb", "tmp", "less", "minimal-mistakes.sublime-project", "minimal-mistakes.sublime-workspace"] \ No newline at end of file diff --git a/_includes/author-bio.html b/_includes/author-bio.html new file mode 100644 index 00000000..09024b22 --- /dev/null +++ b/_includes/author-bio.html @@ -0,0 +1,3 @@ +{{ site.owner.name }} bio photo +

{{ site.owner.name }}

+

{{ site.owner.bio }}

\ No newline at end of file diff --git a/_includes/chrome-frame.html b/_includes/chrome-frame.html new file mode 100644 index 00000000..b65f1b01 --- /dev/null +++ b/_includes/chrome-frame.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 00000000..5c7e7bbc --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1 @@ +
© {{ site.time | date: '%Y' }} {{ site.owner.name }}. Powered by Jekyll using the Minimal Mistakes theme.
diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 00000000..61140d58 --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,48 @@ + +{% if page.title %}{{ page.title }} – {% endif %}{{ site.title }} + + + + + + +{% if page.layout == 'photo' %} + +{% if page.image %}{% endif %} +{% else %} + + + + +{% endif %} + + + + + + + + +{% capture canonical %}{{ site.url }}{% if site.permalink contains '.html' %}{{ page.url }}{% else %}{{ page.url | remove:'index.html' | strip_slash }}{% endif %}{% endcapture %} + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_includes/navigation.html b/_includes/navigation.html new file mode 100644 index 00000000..1a8ef8e2 --- /dev/null +++ b/_includes/navigation.html @@ -0,0 +1,14 @@ + \ No newline at end of file diff --git a/_includes/scripts.html b/_includes/scripts.html new file mode 100644 index 00000000..3efa4fe4 --- /dev/null +++ b/_includes/scripts.html @@ -0,0 +1,18 @@ + + + + + \ No newline at end of file diff --git a/_layouts/home.html b/_layouts/home.html new file mode 100644 index 00000000..4d47a8bd --- /dev/null +++ b/_layouts/home.html @@ -0,0 +1,48 @@ + + + + + + +{% include head.html %} + + + + +{% include chrome-frame.html %} + +{% include navigation.html %} + +
+
+

{{ page.title }}

+ {% if page.tagline %}

{{ page.tagline }}

{% endif %} +
+ {{ page.title }} feature image +
+ +
+ {% include author-bio.html %} +
+ +
+

Latest Articles

+
+ {% for post in site.categories.articles limit:3 %} +
+

{{ post.title }}

+

{% if page.description %}{{ page.description }}{% else %}{{ page.content | strip_html | strip_newlines | truncate: 120 }}{% endif %}

+
+ {% endfor %} +
+ + + +{% include scripts.html %} + + + \ No newline at end of file diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100644 index 00000000..13c9d84e --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,43 @@ + + + + + + +{% include head.html %} + + + + +{% include chrome-frame.html %} + +{% include navigation.html %} + +{% if page.image.feature %}
+ {{ page.title }} feature image +
{% endif %} + +
+ +
+
+

{{ page.title }}

+
+
+ {{ content }} +
+
+
+ + + +{% include scripts.html %} + + + \ No newline at end of file diff --git a/_layouts/post-index.html b/_layouts/post-index.html new file mode 100644 index 00000000..bd8fd5b2 --- /dev/null +++ b/_layouts/post-index.html @@ -0,0 +1,47 @@ + + + + + + +{% include head.html %} + + + + +{% include chrome-frame.html %} + +{% include navigation.html %} + +
+
+

{{ page.title }}

+ {% if page.tagline %}

{{ page.tagline }}

{% endif %} +
+ {{ page.title }} feature image +
+ +
+ {% include author-bio.html %} +
+ +
+ {% for post in site.posts %} +
+

{{ post.title }}

+ +

{% if post.description %}{{ post.description }}{% else %}{{ post.content | strip_html | strip_newlines | truncate: 120 }}{% endif %}

+
+ {% endfor %} +
+ + + +{% include scripts.html %} + + + \ No newline at end of file diff --git a/_layouts/post.html b/_layouts/post.html new file mode 100644 index 00000000..ae3bc52c --- /dev/null +++ b/_layouts/post.html @@ -0,0 +1,68 @@ + + + + + + +{% include head.html %} + + + + +{% include chrome-frame.html %} + +{% include navigation.html %} + +{% if page.image.feature %}
+ {{ page.title }} feature image +
{% endif %} + +
+ +
+
+

{{ page.title }}

+

{{ page.tagline }}

+
+
+ {{ content }} +
+
+ + +
+
+
+
+ + + +{% include scripts.html %} + + + \ No newline at end of file diff --git a/_posts/2011-03-10-sample-post.md b/_posts/2011-03-10-sample-post.md new file mode 100644 index 00000000..0e9229a7 --- /dev/null +++ b/_posts/2011-03-10-sample-post.md @@ -0,0 +1,67 @@ +--- +layout: post +title: Sample Post +category: articles +tags: [intro, beginner, jekyll, tutorial] +image: + feature: texture-feature-05.jpg +--- + +## HTML Elements + +Below is just about everything you’ll need to style in the theme. Check the source code to see the many embedded elements within paragraphs. + +# Heading 1 + +## Heading 2 + +### Heading 3 + +#### Heading 4 + +##### Heading 5 + +###### Heading 6 + +Lorem ipsum dolor sit amet, test link adipiscing elit. **This is strong**. Nullam dignissim convallis est. Quisque aliquam. + +*This is emphasized*. Donec faucibus. Nunc iaculis suscipit dui. 53 = 125. Water is H2O. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. The New York Times (That’s a citation). Underline.Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus. + +HTML and CSS are our tools. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. + +### Blockquotes + +> Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. + +## List Types + +### Ordered Lists + +1. Item one + 1. sub item one + 2. sub item two + 3. sub item three +2. Item two + +## Tables + +| Header1 | Header2 | Header3 | +|:--------|:-------:|--------:| +| cell1 | cell2 | cell3 | +| cell4 | cell5 | cell6 | +|---- +| cell1 | cell2 | cell3 | +| cell4 | cell5 | cell6 | +|===== +| Foot1 | Foot2 | Foot3 +{: rules="groups"} + +## Code Snippets + +~~~ css +#container { + float: left; + margin: 0 -240px 0 0; + width: 100%; +} +~~~ \ No newline at end of file diff --git a/_posts/2013-05-22-readability-post.md b/_posts/2013-05-22-readability-post.md new file mode 100644 index 00000000..fbfae127 --- /dev/null +++ b/_posts/2013-05-22-readability-post.md @@ -0,0 +1,44 @@ +--- +layout: post +title: "Testing Readability with a Bunch of Text" +tagline: "A bunch of hipster ipsum for ya head." +category: articles +tags: [sample post, readability, test] +--- + +Portland in shoreditch Vice, labore typewriter pariatur hoodie fap sartorial Austin. Pinterest literally occupy Schlitz forage. Odio ad blue bottle vinyl, 90's narwhal commodo bitters pour-over nostrud. Ugh est hashtag in, fingerstache adipisicing laboris esse Pinterest shabby chic Portland. Shoreditch bicycle rights anim, flexitarian laboris put a bird on it vinyl cupidatat narwhal. Hashtag artisan skateboard, flannel Bushwick nesciunt salvia aute fixie do plaid post-ironic dolor McSweeney's. Cliche pour-over chambray nulla four loko skateboard sapiente hashtag. + +Vero laborum commodo occupy. Semiotics voluptate mumblecore pug. Cosby sweater ullamco quinoa ennui assumenda, sapiente occupy delectus lo-fi. Ea fashion axe Marfa cillum aliquip. Retro Bushwick keytar cliche. Before they sold out sustainable gastropub Marfa readymade, ethical Williamsburg skateboard brunch qui consectetur gentrify semiotics. Mustache cillum irony, fingerstache magna pour-over keffiyeh tousled selfies. + +## Cupidatat 90's lo-fi authentic try-hard + +In pug Portland incididunt mlkshk put a bird on it vinyl quinoa. Terry Richardson shabby chic +1, scenester Tonx excepteur tempor fugiat voluptate fingerstache aliquip nisi next level. Farm-to-table hashtag Truffaut, Odd Future ex meggings gentrify single-origin coffee try-hard 90's. + +* Sartorial hoodie +* Labore viral forage +* Tote bag selvage +* DIY exercitation et id ugh tumblr church-key + +Incididunt umami sriracha, ethical fugiat VHS ex assumenda yr irure direct trade. Marfa Truffaut bicycle rights, kitsch placeat Etsy kogi asymmetrical. Beard locavore flexitarian, kitsch photo booth hoodie plaid ethical readymade leggings yr. + +Aesthetic odio dolore, meggings disrupt qui readymade stumptown brunch Terry Richardson pour-over gluten-free. Banksy american apparel in selfies, biodiesel flexitarian organic meh wolf quinoa gentrify banjo kogi. Readymade tofu ex, scenester dolor umami fingerstache occaecat fashion axe Carles jean shorts minim. Keffiyeh fashion axe nisi Godard mlkshk dolore. Lomo you probably haven't heard of them eu non, Odd Future Truffaut pug keytar meggings McSweeney's Pinterest cred. Etsy literally aute esse, eu bicycle rights qui meggings fanny pack. Gentrify leggings pug flannel duis. + +## Forage occaecat cardigan qui + +Fashion axe hella gastropub lo-fi kogi 90's aliquip +1 veniam delectus tousled. Cred sriracha locavore gastropub kale chips, iPhone mollit sartorial. Anim dolore 8-bit, pork belly dolor photo booth aute flannel small batch. Dolor disrupt ennui, tattooed whatever salvia Banksy sartorial roof party selfies raw denim sint meh pour-over. Ennui eu cardigan sint, gentrify iPhone cornhole. + +> Whatever velit occaecat quis deserunt gastropub, leggings elit tousled roof party 3 wolf moon kogi pug blue bottle ea. Fashion axe shabby chic Austin quinoa pickled laborum bitters next level, disrupt deep v accusamus non fingerstache. + +Tote bag asymmetrical elit sunt. Occaecat authentic Marfa, hella McSweeney's next level irure veniam master cleanse. Sed hoodie letterpress artisan wolf leggings, 3 wolf moon commodo ullamco. Anim occupy ea labore Terry Richardson. Tofu ex master cleanse in whatever pitchfork banh mi, occupy fugiat fanny pack Austin authentic. Magna fugiat 3 wolf moon, labore McSweeney's sustainable vero consectetur. Gluten-free disrupt enim, aesthetic fugiat jean shorts trust fund keffiyeh magna try-hard. + +## Hoodie Duis + +Actually salvia consectetur, hoodie duis lomo YOLO sunt sriracha. Aute pop-up brunch farm-to-table odio, salvia irure occaecat. Sriracha small batch literally skateboard. Echo Park nihil hoodie, aliquip forage artisan laboris. Trust fund reprehenderit nulla locavore. Stumptown raw denim kitsch, keffiyeh nulla twee dreamcatcher fanny pack ullamco 90's pop-up est culpa farm-to-table. Selfies 8-bit do pug odio. + +### Thundercats Ho! + +Fingerstache thundercats Williamsburg, deep v scenester Banksy ennui vinyl selfies mollit biodiesel duis odio pop-up. Banksy 3 wolf moon try-hard, sapiente enim stumptown deep v ad letterpress. Squid beard brunch, exercitation raw denim yr sint direct trade. Raw denim narwhal id, flannel DIY McSweeney's seitan. Letterpress artisan bespoke accusamus, meggings laboris consequat Truffaut qui in seitan. Sustainable cornhole Schlitz, twee Cosby sweater banh mi deep v forage letterpress flannel whatever keffiyeh. Sartorial cred irure, semiotics ethical sed blue bottle nihil letterpress. + +Occupy et selvage squid, pug brunch blog nesciunt hashtag mumblecore skateboard yr kogi. Ugh small batch swag four loko. Fap post-ironic qui tote bag farm-to-table american apparel scenester keffiyeh vero, swag non pour-over gentrify authentic pitchfork. Schlitz scenester lo-fi voluptate, tote bag irony bicycle rights pariatur vero Vice freegan wayfarers exercitation nisi shoreditch. Chambray tofu vero sed. Street art swag literally leggings, Cosby sweater mixtape PBR lomo Banksy non in pitchfork ennui McSweeney's selfies. Odd Future Banksy non authentic. + +Aliquip enim artisan dolor post-ironic. Pug tote bag Marfa, deserunt pour-over Portland wolf eu odio intelligentsia american apparel ugh ea. Sunt viral et, 3 wolf moon gastropub pug id. Id fashion axe est typewriter, mlkshk Portland art party aute brunch. Sint pork belly Cosby sweater, deep v mumblecore kitsch american apparel. Try-hard direct trade tumblr sint skateboard. Adipisicing bitters excepteur biodiesel, pickled gastropub aute veniam. \ No newline at end of file diff --git a/_posts/2013-05-22-sample-post-images.md b/_posts/2013-05-22-sample-post-images.md new file mode 100644 index 00000000..8e0c4aa6 --- /dev/null +++ b/_posts/2013-05-22-sample-post-images.md @@ -0,0 +1,59 @@ +--- +layout: post +title: "A Post with Images" +category: articles +tags: [sample post, images, test] +--- + +Here are some examples of what a post with images might look like. If you want to display two or three images next to each other responsively use `figure` with the appropriate `class`. Each instance of `figure` is auto-numbered and displayed in the caption. + +### Figures (for images or video) + +#### One Up + +
+ +
Morning Fog Emerging From Trees by A Guy Taking Pictures, on Flickr.
+
+ +#### Two Up + +Apply the `half` class like so to display two images side by side that share the same caption. + +~~~ html +
+ + +
Caption describing these two images.
+
+~~~ + +And you'll get something that looks like this: + +
+ + +
Two images.
+
+ +#### Three Up + +Apply the `third` class like so to display three images side by side that share the same caption. + +~~~ html +
+ + + +
Caption describing these three images.
+
+~~~ + +And you'll get something that looks like this: + +
+ + + +
Three images.
+
\ No newline at end of file diff --git a/_posts/2013-05-23-readability-feature-post.md b/_posts/2013-05-23-readability-feature-post.md new file mode 100644 index 00000000..ddbc6a96 --- /dev/null +++ b/_posts/2013-05-23-readability-feature-post.md @@ -0,0 +1,49 @@ +--- +layout: post +title: "Post with Large Feature Image and Text" +tagline: "A bunch of hipster ipsum for ya head." +description: "Custom written post descriptions are the way to go... if you're not lazy." +category: articles +tags: [sample post, readability, test] +image: + feature: texture-feature-04.jpg +--- + +This is a sample post with a large feature image[^1] up top and tons of text. Odio ad blue bottle vinyl, 90's narwhal commodo bitters pour-over nostrud. Ugh est hashtag in, fingerstache adipisicing laboris esse Pinterest shabby chic Portland. Shoreditch bicycle rights anim, flexitarian laboris put a bird on it vinyl cupidatat narwhal. Hashtag artisan skateboard, flannel Bushwick nesciunt salvia aute fixie do plaid post-ironic dolor McSweeney's. Cliche pour-over chambray nulla four loko skateboard sapiente hashtag. + +Vero laborum commodo occupy. Semiotics voluptate mumblecore pug. Cosby sweater ullamco quinoa ennui assumenda, sapiente occupy delectus lo-fi. Ea fashion axe Marfa cillum aliquip. Retro Bushwick keytar cliche. Before they sold out sustainable gastropub Marfa readymade, ethical Williamsburg skateboard brunch qui consectetur gentrify semiotics. Mustache cillum irony, fingerstache magna pour-over keffiyeh tousled selfies. + +## Cupidatat 90's lo-fi authentic try-hard + +In pug Portland incididunt mlkshk put a bird on it vinyl quinoa. Terry Richardson shabby chic +1, scenester Tonx excepteur tempor fugiat voluptate fingerstache aliquip nisi next level. Farm-to-table hashtag Truffaut, Odd Future ex meggings gentrify single-origin coffee try-hard 90's. + +* Sartorial hoodie +* Labore viral forage +* Tote bag selvage +* DIY exercitation et id ugh tumblr church-key + +Incididunt umami sriracha, ethical fugiat VHS ex assumenda yr irure direct trade. Marfa Truffaut bicycle rights, kitsch placeat Etsy kogi asymmetrical. Beard locavore flexitarian, kitsch photo booth hoodie plaid ethical readymade leggings yr. + +Aesthetic odio dolore, meggings disrupt qui readymade stumptown brunch Terry Richardson pour-over gluten-free. Banksy american apparel in selfies, biodiesel flexitarian organic meh wolf quinoa gentrify banjo kogi. Readymade tofu ex, scenester dolor umami fingerstache occaecat fashion axe Carles jean shorts minim. Keffiyeh fashion axe nisi Godard mlkshk dolore. Lomo you probably haven't heard of them eu non, Odd Future Truffaut pug keytar meggings McSweeney's Pinterest cred. Etsy literally aute esse, eu bicycle rights qui meggings fanny pack. Gentrify leggings pug flannel duis. + +## Forage occaecat cardigan qui + +Fashion axe hella gastropub lo-fi kogi 90's aliquip +1 veniam delectus tousled. Cred sriracha locavore gastropub kale chips, iPhone mollit sartorial. Anim dolore 8-bit, pork belly dolor photo booth aute flannel small batch. Dolor disrupt ennui, tattooed whatever salvia Banksy sartorial roof party selfies raw denim sint meh pour-over. Ennui eu cardigan sint, gentrify iPhone cornhole. + +> Whatever velit occaecat quis deserunt gastropub, leggings elit tousled roof party 3 wolf moon kogi pug blue bottle ea. Fashion axe shabby chic Austin quinoa pickled laborum bitters next level, disrupt deep v accusamus non fingerstache. + +Tote bag asymmetrical elit sunt. Occaecat authentic Marfa, hella McSweeney's next level irure veniam master cleanse. Sed hoodie letterpress artisan wolf leggings, 3 wolf moon commodo ullamco. Anim occupy ea labore Terry Richardson. Tofu ex master cleanse in whatever pitchfork banh mi, occupy fugiat fanny pack Austin authentic. Magna fugiat 3 wolf moon, labore McSweeney's sustainable vero consectetur. Gluten-free disrupt enim, aesthetic fugiat jean shorts trust fund keffiyeh magna try-hard. + +## Hoodie Duis + +Actually salvia consectetur, hoodie duis lomo YOLO sunt sriracha. Aute pop-up brunch farm-to-table odio, salvia irure occaecat. Sriracha small batch literally skateboard. Echo Park nihil hoodie, aliquip forage artisan laboris. Trust fund reprehenderit nulla locavore. Stumptown raw denim kitsch, keffiyeh nulla twee dreamcatcher fanny pack ullamco 90's pop-up est culpa farm-to-table. Selfies 8-bit do pug odio. + +### Thundercats Ho! + +Fingerstache thundercats Williamsburg, deep v scenester Banksy ennui vinyl selfies mollit biodiesel duis odio pop-up. Banksy 3 wolf moon try-hard, sapiente enim stumptown deep v ad letterpress. Squid beard brunch, exercitation raw denim yr sint direct trade. Raw denim narwhal id, flannel DIY McSweeney's seitan. Letterpress artisan bespoke accusamus, meggings laboris consequat Truffaut qui in seitan. Sustainable cornhole Schlitz, twee Cosby sweater banh mi deep v forage letterpress flannel whatever keffiyeh. Sartorial cred irure, semiotics ethical sed blue bottle nihil letterpress. + +Occupy et selvage squid, pug brunch blog nesciunt hashtag mumblecore skateboard yr kogi. Ugh small batch swag four loko. Fap post-ironic qui tote bag farm-to-table american apparel scenester keffiyeh vero, swag non pour-over gentrify authentic pitchfork. Schlitz scenester lo-fi voluptate, tote bag irony bicycle rights pariatur vero Vice freegan wayfarers exercitation nisi shoreditch. Chambray tofu vero sed. Street art swag literally leggings, Cosby sweater mixtape PBR lomo Banksy non in pitchfork ennui McSweeney's selfies. Odd Future Banksy non authentic. + +Aliquip enim artisan dolor post-ironic. Pug tote bag Marfa, deserunt pour-over Portland wolf eu odio intelligentsia american apparel ugh ea. Sunt viral et, 3 wolf moon gastropub pug id. Id fashion axe est typewriter, mlkshk Portland art party aute brunch. Sint pork belly Cosby sweater, deep v mumblecore kitsch american apparel. Try-hard direct trade tumblr sint skateboard. Adipisicing bitters excepteur biodiesel, pickled gastropub aute veniam. + +[^1]: Texture image courtesty of [Lovetextures](http://www.lovetextures.com/) \ No newline at end of file diff --git a/about.md b/about.md new file mode 100644 index 00000000..85228586 --- /dev/null +++ b/about.md @@ -0,0 +1,21 @@ +--- +layout: page +permalink: /about/index.html +title: About the Theme +tagline: Minimal Mistakes, a Jekyll Theme +tags: [about, Jekyll, theme, responsive] +image: + feature: texture-feature-02.jpg +--- + +Jekyll is pretty rad and figured releasing a cleaned up version of [my setup](http://mademistakes.com) as a theme to hack up and use would be cool. So here be that theme --- I call it **Minimal Mistakes**, a responsive Jekyll theme with editorial tendencies. + +## Minimal Mistakes is all about: + +* Responsive templates. Looking good on mobile, tablet, and desktop. +* Gracefully degrading in older browsers. Compatible with Internet Explorer 8+ and all modern browsers. +* Minimal embellishments. Content first --- other widget nonsense never. +* Large feature images for posts and pages. +* Simple and clear permalink structure *(ie: domain.com/category/post-title)* + +Install Minimal Mistakes Theme \ No newline at end of file diff --git a/articles.md b/articles.md new file mode 100644 index 00000000..8476efcf --- /dev/null +++ b/articles.md @@ -0,0 +1,9 @@ +--- +layout: post-index +permalink: /articles/index.html +title: Articles +tagline: A List of Posts +tags: [blog, graphic design] +image: + feature: texture-feature-03.jpg +--- \ No newline at end of file diff --git a/assets/css/ie.css b/assets/css/ie.css new file mode 100644 index 00000000..181bf1bd --- /dev/null +++ b/assets/css/ie.css @@ -0,0 +1,1974 @@ +/* CSS Normalize =========================================== */ +/*! normalize.css v2.1.0 | MIT License | git.io/normalize */ +/* ========================================================================== + HTML5 display definitions + ========================================================================== */ +/** + * Correct `block` display not defined in IE 8/9. + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} +/** + * Correct `inline-block` display not defined in IE 8/9. + */ +audio, +canvas, +video { + display: inline-block; +} +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ +audio:not([controls]) { + display: none; + height: 0; +} +/** + * Address styling not present in IE 8/9. + */ +[hidden] { + display: none; +} +/* ========================================================================== + Base + ========================================================================== */ +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ +html { + font-family: sans-serif; + /* 1 */ + + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + /* 2 */ + +} +/** + * Remove default margin. + */ +body { + margin: 0; +} +/* ========================================================================== + Links + ========================================================================== */ +/** + * Address `outline` inconsistency between Chrome and other browsers. + */ +a:focus { + outline: thin dotted; +} +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ +a:active, +a:hover { + outline: 0; +} +/* ========================================================================== + Typography + ========================================================================== */ +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari 5, and Chrome. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} +/** + * Address styling not present in IE 8/9, Safari 5, and Chrome. + */ +abbr[title] { + border-bottom: 1px dotted; +} +/** + * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. + */ +b, +strong { + font-weight: bold; +} +/** + * Address styling not present in Safari 5 and Chrome. + */ +dfn { + font-style: italic; +} +/** + * Address differences between Firefox and other browsers. + */ +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} +/** + * Address styling not present in IE 8/9. + */ +mark { + background: #ff0; + color: #000; +} +/** + * Correct font family set oddly in Safari 5 and Chrome. + */ +code, +kbd, +pre, +samp { + font-family: monospace, serif; + font-size: 1em; +} +/** + * Improve readability of pre-formatted text in all browsers. + */ +pre { + white-space: pre-wrap; +} +/** + * Set consistent quote types. + */ +q { + quotes: "\201C" "\201D" "\2018" "\2019"; +} +/** + * Address inconsistent and variable font size in all browsers. + */ +small { + font-size: 80%; +} +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* ========================================================================== + Embedded content + ========================================================================== */ +/** + * Remove border when inside `a` element in IE 8/9. + */ +img { + border: 0; +} +/** + * Correct overflow displayed oddly in IE 9. + */ +svg:not(:root) { + overflow: hidden; +} +/* ========================================================================== + Figures + ========================================================================== */ +/** + * Address margin not present in IE 8/9 and Safari 5. + */ +figure { + margin: 0; +} +/* ========================================================================== + Forms + ========================================================================== */ +/** + * Define consistent border, margin, and padding. + */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +/** + * 1. Correct `color` not being inherited in IE 8/9. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ +legend { + border: 0; + /* 1 */ + + padding: 0; + /* 2 */ + +} +/** + * 1. Correct font family not being inherited in all browsers. + * 2. Correct font size not being inherited in all browsers. + * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. + */ +button, +input, +select, +textarea { + font-family: inherit; + /* 1 */ + + font-size: 100%; + /* 2 */ + + margin: 0; + /* 3 */ + +} +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ +button, +input { + line-height: normal; +} +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. + * Correct `select` style inheritance in Firefox 4+ and Opera. + */ +button, +select { + text-transform: none; +} +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + /* 2 */ + + cursor: pointer; + /* 3 */ + +} +/** + * Re-set default cursor for disabled elements. + */ +button[disabled], +html input[disabled] { + cursor: default; +} +/** + * 1. Address box sizing set to `content-box` in IE 8/9. + * 2. Remove excess padding in IE 8/9. + */ +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + /* 1 */ + + padding: 0; + /* 2 */ + +} +/** + * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + */ +input[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + /* 2 */ + + box-sizing: content-box; +} +/** + * Remove inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + */ +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +/** + * Remove inner padding and border in Firefox 4+. + */ +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +/** + * 1. Remove default vertical scrollbar in IE 8/9. + * 2. Improve readability and alignment in all browsers. + */ +textarea { + overflow: auto; + /* 1 */ + + vertical-align: top; + /* 2 */ + +} +/* ========================================================================== + Tables + ========================================================================== */ +/** + * Remove most spacing between table cells. + */ +table { + border-collapse: collapse; + border-spacing: 0; + margin-bottom: 1.5em; +} +/* Variables and mixins ==================================== */ +/* Links ================================================= */ +/* Site wide styles (html, body, global classes) =========== */ +/* Selection ============================================= */ +::-moz-selection { + background-color: #dadada; + color: #343434; + text-shadow: none; +} +::selection { + background-color: #dadada; + color: #343434; + text-shadow: none; +} +/* Global Classes ======================================== */ +.all-caps { + text-transform: uppercase; +} +.pull-left { + float: left; +} +.pull-right { + float: right; +} +.clearfix { + *zoom: 1; +} +.clearfix:before, +.clearfix:after { + display: table; + content: ""; +} +.clearfix:after { + clear: both; +} +.unstyled-list { + list-style: none; + margin-left: 0; + padding-left: 0; +} +.unstyled-list li { + list-style-type: none; +} +/* Typeplate.com typographic starter pack ================== */ +/*! ++---------------------------------------------------------------------+ +| _ _ _ | +| | |_ _ _ _ __ ___ _ __ | | __ _ | |_ ___ | +| | __|| | | || '_ \ / _ \| '_ \ | | / _` || __|/ _ \ | +| | |_ | |_| || |_) || __/| |_) || || (_| || |_| __/ | +| \__| \__, || .__/ \___|| .__/ |_| \__,_| \__|\___| | +| |___/ |_| |_| | +| | +| | +| URL: http://typeplate.com | +| VERSION: 1.0.1 | +| Github: https://github.com/typePlate/typeplate.github.com | +| AUTHORS: Zachary Kain (@zakkain) & Dennis Gaebel (@gryghostvisuals) | +| LICENSE: Creative Commmons | +| http://creativecommons.org/licenses/by/3.0 | +| | ++---------------------------------------------------------------------+ +*/ +@font-face { + font-family: "Ampersand"; + src: local("Georgia"), local("Garamond"), local("Palatino"), local("Book Antiqua"); + unicode-range: U+270C; +} +@font-face { + font-family: "Ampersand"; + src: local("Georgia"); + unicode-range: U+270C; +} +.ampersand-placeholder { + font-family: Verdana, sans-serif; +} +.breakword { + word-wrap: break-word; +} +.normal-wrap { + word-wrap: normal; +} +.inherit-wrap { + word-wrap: auto; +} +/** + * Dropcap Sass @include + * Use the following Sass @include with any selector you feel necessary. + * + @include dropcap(@float: left, @font-size: 4em, @font-family: inherit, @text-indent: 0, @margin: inherit, @padding: inherit, @color: inherit, @lineHeight: 1, @bg: transparent); + * + * Extend this object into your custom stylesheet. + * + */ +.drop-cap:first-letter { + float: left; + margin: inherit; + padding: inherit; + font-size: 4em; + font-family: inherit; + line-height: 1; + text-indent: 0; + background: transparent; + color: inherit; +} +html { + font: normal 112.5%/1.65 serif; +} +body { + word-wrap: normal; + color: #333332; +} +.tera { + font-size: 117px; + font-size: 6.5rem; + margin-bottom: 0.25384615384615383rem; +} +.giga { + font-size: 90px; + font-size: 5rem; + margin-bottom: 0.33rem; +} +.mega { + font-size: 72px; + font-size: 4rem; + margin-bottom: 0.4125rem; +} +.alpha { + font-size: 60px; + font-size: 3.3333333333333335rem; + margin-bottom: 0.495rem; +} +.beta { + font-size: 48px; + font-size: 2.6666666666666665rem; + margin-bottom: 0.61875rem; +} +.gamma { + font-size: 36px; + font-size: 2rem; + margin-bottom: 0.825rem; +} +.delta { + font-size: 24px; + font-size: 1.3333333333333332rem; + margin-bottom: 1.2375rem; +} +.epsilon { + font-size: 21px; + font-size: 1.1666666666666667rem; + margin-bottom: 1.4142857142857141rem; +} +.zeta { + font-size: 18px; + font-size: 1rem; + margin-bottom: 1.65rem; +} +h1 { + font-size: 60px; + font-size: 3.3333333333333335rem; + margin-bottom: 0.495rem; + text-rendering: optimizeLegibility; + line-height: 1; + margin-top: 0; +} +h2 { + font-size: 48px; + font-size: 2.6666666666666665rem; + margin-bottom: 0.61875rem; + text-rendering: optimizeLegibility; + line-height: 1; + margin-top: 0; +} +h3 { + font-size: 36px; + font-size: 2rem; + margin-bottom: 0.825rem; + text-rendering: optimizeLegibility; + line-height: 1; + margin-top: 0; +} +h4 { + font-size: 24px; + font-size: 1.3333333333333332rem; + margin-bottom: 1.2375rem; + text-rendering: optimizeLegibility; + line-height: 1; + margin-top: 0; +} +h5 { + font-size: 21px; + font-size: 1.1666666666666667rem; + margin-bottom: 1.4142857142857141rem; + text-rendering: optimizeLegibility; + line-height: 1; + margin-top: 0; +} +h6 { + font-size: 18px; + font-size: 1rem; + margin-bottom: 1.65rem; + text-rendering: optimizeLegibility; + line-height: 1; + margin-top: 0; +} +p { + margin: 0 0 1.5em; +} +p + p { + text-indent: 1.5em; + margin-top: -1.5em; +} +abbr, +acronym, +blockquote, +code, +dir, +kbd, +listing, +plaintext, +q, +samp, +tt, +var, +xmp { + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + -o-hyphens: none; + hyphens: none; +} +pre code { + word-wrap: normal; + white-space: -moz-pre-wrap; + white-space: pre-wrap; +} +pre { + white-space: pre; +} +code { + white-space: pre; + font-family: monospace; +} +/** + * Abbreviations Markup + * + HMTL + * + * Extend this object into your markup. + * + */ +abbr { + font-variant: small-caps; + font-weight: 400; + text-transform: lowercase; + color: #333332; +} +abbr:hover { + cursor: help; +} +h1, +h2, +h3, +h4, +h5, +h6 { + color: #333332; +} +/** + * Lining Definition Style Markup + * +
+
+
+
+ * + * Extend this object into your markup. + * + */ +.lining dt, +.lining dd { + display: inline; + margin: 0; +} +.lining dt + dt:before, +.lining dd + dt:before { + content: "\A"; + white-space: pre; +} +.lining dd + dd:before { + content: ", "; +} +.lining dd:before { + content: ": "; + margin-left: -0.2rem; +} +/** + * Dictionary Definition Style Markup + * +
+
+
+
+ * + * Extend this object into your markup. + * + */ +.dictionary-style dt { + display: inline; + counter-reset: definitions; +} +.dictionary-style dt + dt:before { + content: ", "; + margin-left: -0.2rem; +} +.dictionary-style dd { + display: block; + counter-increment: definitions; +} +.dictionary-style dd:before { + content: counter(definitions, decimal) ". "; +} +/** + * Stats Tab Markup + * + + * + * Extend this object into your markup. + * + */ +.stats-tabs { + padding: 0; +} +.stats-tabs li { + display: inline-block; + margin: 0 0.625rem 0 0; + padding: 0 0.625rem 0 0; + border-right: 0.125rem solid #cccccc; +} +.stats-tabs li:last-child { + margin: 0; + padding: 0; + border: none; +} +.stats-tabs li a { + display: inline-block; + font-size: 1.5rem; + font-weight: bold; +} +.stats-tabs li a b { + display: block; + margin: 0.125rem 0 0 0; + font-size: 0.875rem; + font-weight: normal; +} +/** + * Blockquote Markup + * +
+

″″

+ + + +
+ * + * Extend this object into your markup. + * + */ +.cite { + display: block; + font-size: 0.875em; + text-align: right; +} +/** + * Pull Quotes Markup + * + + * + * Extend this object into your custom stylesheet. + * + */ +.pull-quote { + position: relative; + padding: 1em; +} +.pull-quote:before, +.pull-quote:after { + height: 1em; + opacity: 0.15; + position: absolute; + font-size: 4em; +} +.pull-quote:before { + content: '“'; + top: 0em; + left: 0em; +} +.pull-quote:after { + content: '”'; + bottom: 0em; + right: 0em; +} +/** + * Figures Markup + * +
+
+ Fig. 4.2 | Type Anatomy, an excerpt from Mark Boulton's book"Designing for the Web" +
+
+ * + * Extend this object into your markup. + * + */ +/** + * Footnote Markup : Replace 'X' with your unique number for each footnote + * +
+

+ +
+ * + * Extend this object into your markup. + * + */ +/* Headings ============================================== */ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: 'PT Sans Narrow', sans-serif; + font-weight: 700; +} +h6 { + font-weight: 400; +} +/* Links ================================================= */ +a { + text-decoration: none; + color: #343434; +} +a:visited { + color: #4e4e4e; +} +a:hover { + color: #1a1a1a; +} +a:focus { + outline: thin dotted; + color: #343434; +} +a:hover, +a:active { + outline: 0; +} +b, +strong { + font-weight: 700; +} +/* Lists ============================================== */ +ul li { + list-style-type: square; +} +ol li { + list-style-type: upper-roman; +} +/* Add underline for main links ======================= */ +p > a, +li > a, +em > a, +a > em, +footer a { + text-decoration: none; + border-bottom: 1px dotted #b3b3b1; +} +p > a:hover, +li > a:hover, +em > a:hover, +footer a:hover { + text-decoration: none; + border-bottom: 1px solid #b3b3b1; +} +/* Figure caption ===================================== */ +figcaption { + margin-top: 0.75em; + line-height: 1.25; + font-size: 18px; + font-size: 1rem; + margin-bottom: 1.65rem; + font-family: 'PT Sans Narrow', sans-serif; + counter-increment: captions; +} +figcaption:before { + font-weight: 700; + text-transform: uppercase; + content: "Figure " counter(captions) ": "; +} +/* Notice ============================================== */ +.notice { + margin-top: 1.5em; + padding: .5em 1em; + text-indent: 0; + font-size: 90%; + background-color: #ddd; + border-left: 10px solid #ccc; +} +/* Blockquote =========================================== */ +blockquote { + font-style: italic; + margin-left: 0; + padding-left: 1em; + border-left: 10px solid #ccc; +} +blockquote p + p { + text-indent: 0; + margin-top: 0; +} +/* Footnotes ============================================= */ +.footnotes { + font-size: 90%; +} +/* Gradients ============================================= */ +/* .bordered(COLOR, COLOR, COLOR, COLOR); ================ */ +/* .rounded(VALUE); ====================================== */ +/* .border-radius(VALUE,VALUE,VALUE,VALUE); ============== */ +/* .box-shadow(HORIZONTAL VERTICAL BLUR COLOR)) =========== */ +/* .drop-shadow(HORIZONTAL, VERTICAL, BLUR, ALPHA); ======= */ +/* .text-shadow(); ======================================== */ +/* .opacity(VALUE); ======================================= */ +/* .rotate(VALUEdeg); ===================================== */ +/* .scale(VALUE); ========================================= */ +/* .skew(VALUE, VALUE); =================================== */ +/* .transition(PROPERTY DURATION DELAY(OPTIONAL) TIMING-FINCTION); */ +/* .translate(VALUE, VALUE) =============================== */ +/* .background-alpha(VALUE VALUE); ======================== */ +/* .background-size(VALUE VALUE); ========================= */ +/* .background-clip(VALUE); (border-box, padding-box, content-box) */ +/* .box-sizing(VALUE); (border-box, padding-box, content-box) */ +/* Contain floats ========================================= */ +/* For image replacement ================================== */ +/* Hide from visual and speaking browsers ================= */ +.hidden { + display: none; + visibility: hidden; +} +/* Hide but maintain layout =============================== */ +/* .resize(VALUE) (none, both, horizontal, vertical, inherit) */ +/* .userselect(VALUE) (all, element, none, text) ========== */ +/* Hidden but available to speaking browsers ============== */ +/* Make visuallyhidden focusable with a keyboard ========== */ +.visuallyhidden.focusable:active, +.visuallyhidden.focusable:focus { + position: static; + clip: auto; + height: auto; + width: auto; + margin: 0; + overflow: visible; +} +/* Responsive visibility utilities =================================== */ +/* For desktops =========================================== */ +.visible-phone { + display: none !important; +} +.visible-tablet { + display: none !important; +} +.hidden-desktop { + display: none !important; +} +/* Mobile phones only =====================================*/ +@media (max-width: 767px) { + .visible-phone { + display: inherit !important; + } + .hidden-phone { + display: none !important; + } + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important; + } +} +/* Tablets & small desktops only ========================== */ +@media (min-width: 768px) and (max-width: 979px) { + .visible-tablet { + display: inherit !important; + } + .hidden-tablet { + display: none !important; + } + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important ; + } +} +/* .columns(250px, 0, 24px, COLOR, solid, 1px) ============ */ +/* Figures, images, social media, other elements =========== */ +hr { + display: block; + margin: 1em 0; + padding: 0; + height: 1px; + border: 0; + border-top: 1px solid #ccc; + border-bottom: 1px solid #fff; +} +/* Figures and images ==================================== */ +article img { + max-width: 100%; + height: auto; + border-width: 0; + vertical-align: middle; + -ms-interpolation-mode: bicubic; +} +svg:not(:root) { + overflow: hidden; +} +.half { + margin: 0 auto; + width: 100%; + *zoom: 1; +} +.half:before, +.half:after { + display: table; + content: ""; +} +.half:after { + clear: both; +} +.half:before, +.half:after { + content: ""; + display: table; +} +.half:after { + clear: both; +} +.half img { + display: inline; + float: left; + width: 50%; +} +.half figcaption { + display: inline; + float: left; + width: 100%; +} +.third { + margin: 0 auto; + width: 100%; + *zoom: 1; +} +.third:before, +.third:after { + display: table; + content: ""; +} +.third:after { + clear: both; +} +.third:before, +.third:after { + content: ""; + display: table; +} +.third:after { + clear: both; +} +.third img { + display: inline; + float: left; + width: 33.333333333333336%; +} +.third figcaption { + display: inline; + float: left; + width: 100%; +} +/* Buttons =============================================== */ +.btn { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; + padding: 12px; + margin-bottom: 2em; + line-height: 1; + text-align: center; + text-transform: uppercase; + vertical-align: middle; + border: 4px double #333332; + cursor: pointer; + *margin-left: .3em; + -webkit-transition: 0.4s linear; + -moz-transition: 0.4s linear; + -ms-transition: 0.4s linear; + -o-transition: 0.4s linear; + transition: 0.4s linear; +} +.btn:visited { + border: 4px double #4e4e4e; +} +.btn:hover { + border: 4px double #1a1a1a; +} +.btn:first-child { + *margin-left: 0; +} +.btn-inverse { + border: 4px double #ffffff; + color: #ffffff; + background-color: #000000; +} +.btn-inverse:visited { + color: #ffffff; + border-color: #ffffff; +} +.btn-inverse:hover { + color: #ffffff; + border-color: #ffffff; +} +/* Standard form controls ================================== */ +form { + margin: 0 0 5px 0; +} +form fieldset { + margin-bottom: 5px; + padding: 0; + border-width: 0; +} +form legend { + display: block; + width: 100%; + margin-bottom: 10px; + *margin-left: -7px; + padding: 0; + color: #333332; + border: 0; + border-bottom: 1px solid #cccccc; + white-space: normal; +} +form p { + margin-bottom: 2.5px; +} +form ul { + list-style-type: none; + margin: 0 0 5px 0; + padding: 0; +} +form br { + display: none; +} +label, +input, +button, +select, +textarea { + vertical-align: baseline; + *vertical-align: middle; +} +input, +button, +select, +textarea { + font-family: 'PT Serif', serif; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; +} +label { + display: block; + margin-bottom: 1.25px; + font-weight: bold; + color: #333332; + cursor: pointer; +} +label input, +label textarea, +label select { + display: block; +} +input, +textarea, +select { + display: inline-block; + width: 100%; + padding: 4px; + margin-bottom: 1.25px; + background-color: #ffffff; + border: 1px solid #cccccc; + color: #333332; +} +input:hover, +textarea:hover, +select:hover { + border-color: #808080; +} +.input-mini { + width: 60px; +} +.input-small { + width: 90px; +} +input[type="image"], +input[type="checkbox"], +input[type="radio"] { + width: auto; + height: auto; + padding: 0; + margin: 3px 0; + *margin-top: 0; + line-height: normal; + cursor: pointer; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + border: 0 \9; +} +input[type="checkbox"], +input[type="radio"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + padding: 0; + *width: 13px; + *height: 13px; +} +input[type="image"] { + border: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +input[type="file"] { + width: auto; + padding: initial; + line-height: initial; + border: initial; + background-color: transparent; + background-color: initial; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +input[type="button"], +input[type="reset"], +input[type="submit"] { + width: auto; + height: auto; + cursor: pointer; + *overflow: visible; +} +select, +input[type="file"] { + *margin-top: 4px; +} +select { + width: auto; + background-color: #ffffff; +} +select[multiple], +select[size] { + height: auto; +} +textarea { + resize: vertical; + height: auto; + overflow: auto; + vertical-align: top; +} +input[type="hidden"] { + display: none; +} +.radio, +.checkbox { + padding-left: 18px; + font-weight: normal; +} +.radio input[type="radio"], +.checkbox input[type="checkbox"] { + float: left; + margin-left: -18px; +} +.radio.inline, +.checkbox.inline { + display: inline-block; + padding-top: 5px; + margin-bottom: 0; + vertical-align: middle; +} +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { + margin-left: 10px; +} +/* disabled ==================================== */ +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { + -webkit-opacity: 0.5; + -moz-opacity: 0.5; + opacity: 0.5; + cursor: not-allowed; +} +/* focus and active ============================ */ +input:focus, +textarea:focus { + border-color: #000000; + outline: 0; + outline: thin dotted \9; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus, +select:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +/* help text ==================================== */ +.help-block, +.help-inline { + color: #808080; +} +.help-block { + display: block; + margin-bottom: 1em; + line-height: 1em; +} +.help-inline { + display: inline-block; + vertical-align: middle; + padding-left: 5px; +} +/* .form-inline ================================= */ +.form-inline input, +.form-inline textarea, +.form-inline select { + display: inline-block; + margin-bottom: 0; +} +.form-inline label { + display: inline-block; +} +.form-inline .radio, +.form-inline .checkbox, +.form-inline .radio { + padding-left: 0; + margin-bottom: 0; + vertical-align: middle; +} +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { + float: left; + margin-left: 0; + margin-right: 3px; +} +/* .form-search ================================= */ +.form-search input, +.form-search textarea, +.form-search select { + display: inline-block; + margin-bottom: 0; +} +.form-search .search-query { + padding-left: 14px; + padding-right: 14px; + margin-bottom: 0; + -webkit-border-radius: 14px; + -moz-border-radius: 14px; + border-radius: 14px; +} +.form-search label { + display: inline-block; +} +.form-search .radio, +.form-search .checkbox, +.form-inline .radio { + padding-left: 0; + margin-bottom: 0; + vertical-align: middle; +} +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"] { + float: left; + margin-left: 0; + margin-right: 3px; +} +/* Page level layout styles */ +html { + background: #ebebeb url(../img/background-light.jpg); + font-family: 'PT Serif', serif; + font-color: #333332; + font-size: 90%; +} +.navigation-wrapper { + margin: 0 auto; + width: 100%; + padding: 2em 0 3em; + font-family: 'PT Sans Narrow', sans-serif; + font-weight: 700; + text-transform: uppercase; +} +.site-name { + margin: 0 auto; + width: 100%; + display: inline; + float: left; + width: 83.33333333333334%; + margin-left: 8.333333333333334%; + margin-right: 8.333333333333334%; + margin-bottom: 1em; +} +.top-navigation { + margin: 0 auto; + width: 100%; + display: inline; + float: left; + width: 83.33333333333334%; + margin-left: 8.333333333333334%; + margin-right: 8.333333333333334%; + margin-bottom: 1em; +} +.top-navigation ul { + list-style: none; + margin: 0; + padding: 0; +} +.top-navigation li { + list-style-type: none; + display: inline; + margin-right: 25px; +} +.top-navigation li:after { + content: "."; +} +.top-navigation li a { + decoration: none; + border-bottom: 0 solid transparent; +} +#main { + counter-reset: captions; + margin: 0 auto; + width: 100%; + *zoom: 1; + clear: both; + margin-top: 1em; +} +#main:before, +#main:after { + display: table; + content: ""; +} +#main:after { + clear: both; +} +#main:before, +#main:after { + content: ""; + display: table; +} +#main:after { + clear: both; +} +#main article { + margin: 0 auto; + width: 100%; + display: inline; + float: left; + width: 83.33333333333334%; + margin-left: 8.333333333333334%; + margin-right: 8.333333333333334%; + margin-bottom: 2em; +} +#index { + margin: 0 auto; + width: 100%; + display: inline; + float: left; + width: 83.33333333333334%; + margin-left: 8.333333333333334%; + margin-right: 8.333333333333334%; + margin-bottom: 2em; +} +#index article h2 { + font-size: 24px; + font-size: 1.3333333333333332rem; + margin-bottom: 1.2375rem; + margin-bottom: 0; +} +#index article p + p { + text-indent: 0; +} +.image-wrap { + position: relative; + margin-bottom: 2em; +} +.image-wrap:after { + content: " "; + display: block; + position: absolute; + bottom: -1px; + left: 8%; + width: 0; + height: 0; + border: 20px solid transparent; + border-bottom-color: #ebebeb; +} +.image-wrap img { + width: 100%; + height: auto; + -ms-interpolation-mode: bicubic; +} +.image-wrap .headline-wrap { + position: absolute; + bottom: 25px; + margin-left: 8.333333333333334%; +} +.image-wrap .headline-wrap h1, +.image-wrap .headline-wrap h2 { + color: #ffffff; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25); +} +.headline-wrap h1 { + font-size: 48px; + font-size: 2.6666666666666665rem; + margin-bottom: 0.61875rem; +} +.headline-wrap h2 { + font-size: 24px; + font-size: 1.3333333333333332rem; + margin-bottom: 1.2375rem; + text-transform: uppercase; +} +.article-wrap h2 { + font-size: 36px; + font-size: 2rem; + margin-bottom: 0.825rem; +} +.article-wrap h3 { + font-size: 24px; + font-size: 1.3333333333333332rem; + margin-bottom: 1.2375rem; +} +.byline { + clear: both; + font-size: 80%; +} +.article-author-top h4, +.article-author-bottom h4 { + margin-bottom: 0.5em; +} +.article-author-top p, +.article-author-bottom p { + font-size: 80%; + font-style: italic; +} +.article-author-top a, +.article-author-bottom a, +.article-author-top a:hover, +.article-author-bottom a:hover { + border-bottom: 0 solid transparent; +} +.article-author-top img.bio-photo, +.article-author-bottom img.bio-photo { + -webkit-border-radius: 100px; + -moz-border-radius: 100px; + border-radius: 100px; +} +.article-author-top { + display: none; +} +.article-author-bottom .bio-photo { + float: left; + margin-right: 25px; +} +.toc { + display: none; + font-size: 95%; + -webkit-opacity: 0.7; + -moz-opacity: 0.7; + opacity: 0.7; + -webkit-transition: opacity 0.2s ease-in-out; + -moz-transition: opacity 0.2s ease-in-out; + -ms-transition: opacity 0.2s ease-in-out; + -o-transition: opacity 0.2s ease-in-out; + transition: opacity 0.2s ease-in-out; +} +.toc:hover { + -webkit-opacity: 1; + -moz-opacity: 1; + opacity: 1; +} +.toc header { + background: #1a1a1a; +} +.toc h3 { + margin: 0; + padding: 5px 10px; + color: #ffffff; +} +.toc h3:hover { + cursor: pointer; +} +.toc ul { + margin: 2px 0 0; + padding: 0; + background: #4d4d4d; + line-height: 1; +} +.toc li { + display: block; + margin: 0; + padding: 0; + font-family: 'PT Sans Narrow', sans-serif; + border-bottom: 1px solid #808080; +} +.toc li:last-child { + border-bottom: 0 solid transparent; +} +.toc li a, +.toc li a:hover { + color: #ffffff; + border-bottom: 0 solid transparent; +} +.toc li a { + padding: 10px; + display: block; +} +.toc li ul { + margin: 0; + border-top: 1px solid #808080; +} +.image-grid { + *zoom: 1; + list-style: none; + margin: 0 0 1em; + padding: 0; +} +.image-grid:before, +.image-grid:after { + display: table; + content: ""; +} +.image-grid:after { + clear: both; +} +.image-grid:before, +.image-grid:after { + content: ""; + display: table; +} +.image-grid:after { + clear: both; +} +.image-grid li { + display: inline; + float: left; + width: 50%; +} +.recent-grid { + *zoom: 1; + list-style: none; + margin: 1em 0; +} +.recent-grid:before, +.recent-grid:after { + display: table; + content: ""; +} +.recent-grid:after { + clear: both; +} +.recent-grid:before, +.recent-grid:after { + content: ""; + display: table; +} +.recent-grid:after { + clear: both; +} +.recent-grid li { + display: inline; +} +.recent-grid li a { + border-bottom: 0 solid transparent; +} +.recent-grid li a:hover { + border-bottom: 0 solid transparent; +} +.recent-grid img { + width: 19%; + margin-bottom: 1%; +} +.holder { + font-family: 'PT Sans Narrow', sans-serif; +} +.holder a { + cursor: pointer; + margin: 0 5px; +} +.holder a.jp-previous { + margin-left: 0; + margin-right: 15px; +} +.holder a.jp-next { + margin-left: 15px; + margin-right: 0; +} +.holder a.jp-current { + font-weight: bold; +} +.holder a.jp-current, +.holder a.jp-current:hover, +.holder a.jp-disabled, +.holder a.jp-disabled:hover { + cursor: default; + background: none; +} +.holder span { + margin: 0 5px; +} +.footer-wrap { + margin: 0 auto; + width: 100%; + *zoom: 1; + clear: both; + margin-top: 1em; + padding-top: 2em; + padding-bottom: 3em; + background: #000000 url(../img/background-dark.png); +} +.footer-wrap:before, +.footer-wrap:after { + display: table; + content: ""; +} +.footer-wrap:after { + clear: both; +} +.footer-wrap:before, +.footer-wrap:after { + content: ""; + display: table; +} +.footer-wrap:after { + clear: both; +} +.footer-wrap a, +.footer-wrap a:active, +.footer-wrap a:visited, +.footer-wrap p, +.footer-wrap h4, +.footer-wrap h5, +.footer-wrap h6 { + color: #bfbfbf; +} +.footer-wrap a { + border-bottom: 0 solid transparent; +} +.footer-wrap a:hover { + color: #ffffff; + border-bottom: 0 solid transparent; +} +.footer-wrap footer { + display: inline; + float: left; + width: 83.33333333333334%; + margin-left: 8.333333333333334%; + margin-right: 8.333333333333334%; +} +.related-articles { + display: inline; + float: left; + width: 83.33333333333334%; + margin-left: 8.333333333333334%; + margin-right: 8.333333333333334%; +} +.related-articles h4 { + font-size: 21px; + font-size: 1.1666666666666667rem; + margin-bottom: 1.4142857142857141rem; + text-transform: uppercase; + margin-bottom: 0; +} +.related-articles li { + margin-bottom: 0; + color: #ffffff; +} +.footer-icons li { + display: inline-block; + padding-right: 5px; +} +.footer-icons li a { + font-size: 24px; + font-size: 1.3333333333333332rem; + margin-bottom: 1.2375rem; + color: #9a9a9a; + -webkit-transition: 0.4s linear; + -moz-transition: 0.4s linear; + -ms-transition: 0.4s linear; + -o-transition: 0.4s linear; + transition: 0.4s linear; +} +.footer-icons li a:hover { + text-decoration: none; + border-bottom: none; +} +.footer-icons li a:hover .icon-twitter, +.footer-icons li a:hover .icon-twitter-sign { + color: #2aa9df; +} +.footer-icons li a:hover .icon-facebook, +.footer-icons li a:hover .icon-facebook-sign { + color: #3a5a98; +} +.footer-icons li a:hover .icon-instagram, +.footer-icons li a:hover .icon-instagram-sign { + color: #306088; +} +.footer-icons li a:hover .icon-google-plus, +.footer-icons li a:hover .icon-google-plus-sign { + color: #b63324; +} +.footer-icons li a:hover .icon-lastfm, +.footer-icons li a:hover .icon-lastfm-sign { + color: #d80049; +} +.footer-icons li a:hover .icon-github { + color: #4183c4; +} +.chrome-frame { + background: #000; + margin: 0 0 2em 0; + padding: 10px; + text-align: center; + color: #ffffff; +} +.chrome-frame a { + color: #ffffff; + border-bottom: 1px dotted #ffffff; + text-decoration: none; +} +.chrome-frame a:hover { + border-bottom: 1px solid #ffffff; +} +/* 480px wide ============================================== */ +.image-grid li { + width: 33.333333%; +} +/* 600px wide ============================================== */ +html { + font-size: 95%; +} +.site-name { + display: inline; + float: left; + width: 16.666666666666668%; + margin-left: 4.166666666666667%; + margin-right: 4.166666666666667%; +} +.top-navigation { + display: inline; + float: left; + width: 75%; + margin-left: 0%; + margin-right: 0%; +} +.image-wrap .headline-wrap { + margin-left: 25%; +} +.image-wrap:after { + left: 25%; +} +#main article { + display: inline; + float: left; + width: 50%; + margin-left: 0%; + margin-right: 0%; +} +#index { + display: inline; + float: left; + width: 50%; + margin-left: 0%; + margin-right: 0%; +} +.footer-wrap footer { + display: inline; + float: left; + width: 50%; + margin-left: 25%; + margin-right: 25%; +} +.article-author-top { + display: block; + display: inline; + float: left; + width: 16.666666666666668%; + margin-left: 4.166666666666667%; + margin-right: 4.166666666666667%; +} +.article-author-bottom { + display: none; +} +.toc { + display: block; + display: inline; + float: left; + width: 16.666666666666668%; + margin-left: 4.166666666666667%; + margin-right: 4.166666666666667%; + position: fixed; + top: 25px; + right: 0; + -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); + -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); + box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); +} +.image-grid li { + width: 25%; +} +.related-articles { + display: inline; + float: left; + width: 50%; + margin-left: 25%; + margin-right: 25%; +} +/* 768px wide ============================================== */ +html { + font-size: 100%; +} +/* Image Grid ============================================== */ +.image-grid li { + width: 20%; +} +/* 992px wide ============================================== */ +html { + font-size: 112.5%; +} +/* Image Grid ============================================== */ +.image-grid li { + width: 16.666666666%; +} +/* 1382px wide ============================================= */ +.site-name { + display: inline; + float: left; + width: 12.5%; + margin-left: 16.666666666666668%; +} +.top-navigation { + display: inline; + float: left; + width: 66.66666666666667%; +} +.image-wrap img { + display: inline; + float: left; + width: 66.66666666666667%; + margin-left: 16.666666666666668%; + margin-right: 16.666666666666668%; + margin-top: 1em; + margin-bottom: 2em; +} +.image-wrap:after { + left: 33.333333333%; +} +.image-wrap .headline-wrap { + margin-left: 33.333333333333336%; +} +#main article { + display: inline; + float: left; + width: 37.5%; +} +#index { + display: inline; + float: left; + width: 37.5%; +} +.related-articles { + display: inline; + float: left; + width: 37.5%; + margin-left: 33.333333333333336%; + margin-right: 29.166666666666668%; +} +.footer-wrap footer { + display: inline; + float: left; + width: 37.5%; + margin-left: 33.333333333333336%; + margin-right: 29.166666666666668%; +} +.article-author-top { + display: inline; + float: left; + width: 12.5%; + margin-left: 16.666666666666668%; +} diff --git a/assets/css/main.css b/assets/css/main.css new file mode 100644 index 00000000..26d2e6b7 --- /dev/null +++ b/assets/css/main.css @@ -0,0 +1,2875 @@ +/* CSS Normalize =========================================== */ +/*! normalize.css v2.1.0 | MIT License | git.io/normalize */ +/* ========================================================================== + HTML5 display definitions + ========================================================================== */ +/** + * Correct `block` display not defined in IE 8/9. + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} +/** + * Correct `inline-block` display not defined in IE 8/9. + */ +audio, +canvas, +video { + display: inline-block; +} +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ +audio:not([controls]) { + display: none; + height: 0; +} +/** + * Address styling not present in IE 8/9. + */ +[hidden] { + display: none; +} +/* ========================================================================== + Base + ========================================================================== */ +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ +html { + font-family: sans-serif; + /* 1 */ + + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + /* 2 */ + +} +/** + * Remove default margin. + */ +body { + margin: 0; +} +/* ========================================================================== + Links + ========================================================================== */ +/** + * Address `outline` inconsistency between Chrome and other browsers. + */ +a:focus { + outline: thin dotted; +} +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ +a:active, +a:hover { + outline: 0; +} +/* ========================================================================== + Typography + ========================================================================== */ +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari 5, and Chrome. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} +/** + * Address styling not present in IE 8/9, Safari 5, and Chrome. + */ +abbr[title] { + border-bottom: 1px dotted; +} +/** + * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. + */ +b, +strong { + font-weight: bold; +} +/** + * Address styling not present in Safari 5 and Chrome. + */ +dfn { + font-style: italic; +} +/** + * Address differences between Firefox and other browsers. + */ +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} +/** + * Address styling not present in IE 8/9. + */ +mark { + background: #ff0; + color: #000; +} +/** + * Correct font family set oddly in Safari 5 and Chrome. + */ +code, +kbd, +pre, +samp { + font-family: monospace, serif; + font-size: 1em; +} +/** + * Improve readability of pre-formatted text in all browsers. + */ +pre { + white-space: pre-wrap; +} +/** + * Set consistent quote types. + */ +q { + quotes: "\201C" "\201D" "\2018" "\2019"; +} +/** + * Address inconsistent and variable font size in all browsers. + */ +small { + font-size: 80%; +} +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* ========================================================================== + Embedded content + ========================================================================== */ +/** + * Remove border when inside `a` element in IE 8/9. + */ +img { + border: 0; +} +/** + * Correct overflow displayed oddly in IE 9. + */ +svg:not(:root) { + overflow: hidden; +} +/* ========================================================================== + Figures + ========================================================================== */ +/** + * Address margin not present in IE 8/9 and Safari 5. + */ +figure { + margin: 0; +} +/* ========================================================================== + Forms + ========================================================================== */ +/** + * Define consistent border, margin, and padding. + */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +/** + * 1. Correct `color` not being inherited in IE 8/9. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ +legend { + border: 0; + /* 1 */ + + padding: 0; + /* 2 */ + +} +/** + * 1. Correct font family not being inherited in all browsers. + * 2. Correct font size not being inherited in all browsers. + * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. + */ +button, +input, +select, +textarea { + font-family: inherit; + /* 1 */ + + font-size: 100%; + /* 2 */ + + margin: 0; + /* 3 */ + +} +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ +button, +input { + line-height: normal; +} +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. + * Correct `select` style inheritance in Firefox 4+ and Opera. + */ +button, +select { + text-transform: none; +} +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + /* 2 */ + + cursor: pointer; + /* 3 */ + +} +/** + * Re-set default cursor for disabled elements. + */ +button[disabled], +html input[disabled] { + cursor: default; +} +/** + * 1. Address box sizing set to `content-box` in IE 8/9. + * 2. Remove excess padding in IE 8/9. + */ +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + /* 1 */ + + padding: 0; + /* 2 */ + +} +/** + * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + */ +input[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + /* 2 */ + + box-sizing: content-box; +} +/** + * Remove inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + */ +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +/** + * Remove inner padding and border in Firefox 4+. + */ +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +/** + * 1. Remove default vertical scrollbar in IE 8/9. + * 2. Improve readability and alignment in all browsers. + */ +textarea { + overflow: auto; + /* 1 */ + + vertical-align: top; + /* 2 */ + +} +/* ========================================================================== + Tables + ========================================================================== */ +/** + * Remove most spacing between table cells. + */ +table { + border-collapse: collapse; + border-spacing: 0; + margin-bottom: 1.5em; +} +/* Variables and mixins ==================================== */ +/* Links ================================================= */ +/* Site wide styles (html, body, global classes) =========== */ +/* Selection ============================================= */ +::-moz-selection { + background-color: #dadada; + color: #343434; + text-shadow: none; +} +::selection { + background-color: #dadada; + color: #343434; + text-shadow: none; +} +/* Global Classes ======================================== */ +.all-caps { + text-transform: uppercase; +} +.pull-left { + float: left; +} +.pull-right { + float: right; +} +.clearfix { + *zoom: 1; +} +.clearfix:before, +.clearfix:after { + display: table; + content: ""; +} +.clearfix:after { + clear: both; +} +.unstyled-list { + list-style: none; + margin-left: 0; + padding-left: 0; +} +.unstyled-list li { + list-style-type: none; +} +/* Typeplate.com typographic starter pack ================== */ +/*! ++---------------------------------------------------------------------+ +| _ _ _ | +| | |_ _ _ _ __ ___ _ __ | | __ _ | |_ ___ | +| | __|| | | || '_ \ / _ \| '_ \ | | / _` || __|/ _ \ | +| | |_ | |_| || |_) || __/| |_) || || (_| || |_| __/ | +| \__| \__, || .__/ \___|| .__/ |_| \__,_| \__|\___| | +| |___/ |_| |_| | +| | +| | +| URL: http://typeplate.com | +| VERSION: 1.0.1 | +| Github: https://github.com/typePlate/typeplate.github.com | +| AUTHORS: Zachary Kain (@zakkain) & Dennis Gaebel (@gryghostvisuals) | +| LICENSE: Creative Commmons | +| http://creativecommons.org/licenses/by/3.0 | +| | ++---------------------------------------------------------------------+ +*/ +@font-face { + font-family: "Ampersand"; + src: local("Georgia"), local("Garamond"), local("Palatino"), local("Book Antiqua"); + unicode-range: U+270C; +} +@font-face { + font-family: "Ampersand"; + src: local("Georgia"); + unicode-range: U+270C; +} +.ampersand-placeholder { + font-family: Verdana, sans-serif; +} +.breakword { + word-wrap: break-word; +} +.normal-wrap { + word-wrap: normal; +} +.inherit-wrap { + word-wrap: auto; +} +/** + * Dropcap Sass @include + * Use the following Sass @include with any selector you feel necessary. + * + @include dropcap(@float: left, @font-size: 4em, @font-family: inherit, @text-indent: 0, @margin: inherit, @padding: inherit, @color: inherit, @lineHeight: 1, @bg: transparent); + * + * Extend this object into your custom stylesheet. + * + */ +.drop-cap:first-letter { + float: left; + margin: inherit; + padding: inherit; + font-size: 4em; + font-family: inherit; + line-height: 1; + text-indent: 0; + background: transparent; + color: inherit; +} +html { + font: normal 112.5%/1.65 serif; +} +body { + word-wrap: normal; + color: #333332; +} +.tera { + font-size: 117px; + font-size: 6.5rem; + margin-bottom: 0.25384615384615383rem; +} +.giga { + font-size: 90px; + font-size: 5rem; + margin-bottom: 0.33rem; +} +.mega { + font-size: 72px; + font-size: 4rem; + margin-bottom: 0.4125rem; +} +.alpha { + font-size: 60px; + font-size: 3.3333333333333335rem; + margin-bottom: 0.495rem; +} +.beta { + font-size: 48px; + font-size: 2.6666666666666665rem; + margin-bottom: 0.61875rem; +} +.gamma { + font-size: 36px; + font-size: 2rem; + margin-bottom: 0.825rem; +} +.delta { + font-size: 24px; + font-size: 1.3333333333333332rem; + margin-bottom: 1.2375rem; +} +.epsilon { + font-size: 21px; + font-size: 1.1666666666666667rem; + margin-bottom: 1.4142857142857141rem; +} +.zeta { + font-size: 18px; + font-size: 1rem; + margin-bottom: 1.65rem; +} +h1 { + font-size: 60px; + font-size: 3.3333333333333335rem; + margin-bottom: 0.495rem; + text-rendering: optimizeLegibility; + line-height: 1; + margin-top: 0; +} +h2 { + font-size: 48px; + font-size: 2.6666666666666665rem; + margin-bottom: 0.61875rem; + text-rendering: optimizeLegibility; + line-height: 1; + margin-top: 0; +} +h3 { + font-size: 36px; + font-size: 2rem; + margin-bottom: 0.825rem; + text-rendering: optimizeLegibility; + line-height: 1; + margin-top: 0; +} +h4 { + font-size: 24px; + font-size: 1.3333333333333332rem; + margin-bottom: 1.2375rem; + text-rendering: optimizeLegibility; + line-height: 1; + margin-top: 0; +} +h5 { + font-size: 21px; + font-size: 1.1666666666666667rem; + margin-bottom: 1.4142857142857141rem; + text-rendering: optimizeLegibility; + line-height: 1; + margin-top: 0; +} +h6 { + font-size: 18px; + font-size: 1rem; + margin-bottom: 1.65rem; + text-rendering: optimizeLegibility; + line-height: 1; + margin-top: 0; +} +p { + margin: 0 0 1.5em; +} +p + p { + text-indent: 1.5em; + margin-top: -1.5em; +} +abbr, +acronym, +blockquote, +code, +dir, +kbd, +listing, +plaintext, +q, +samp, +tt, +var, +xmp { + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + -o-hyphens: none; + hyphens: none; +} +pre code { + word-wrap: normal; + white-space: -moz-pre-wrap; + white-space: pre-wrap; +} +pre { + white-space: pre; +} +code { + white-space: pre; + font-family: monospace; +} +/** + * Abbreviations Markup + * + HMTL + * + * Extend this object into your markup. + * + */ +abbr { + font-variant: small-caps; + font-weight: 400; + text-transform: lowercase; + color: #333332; +} +abbr:hover { + cursor: help; +} +h1, +h2, +h3, +h4, +h5, +h6 { + color: #333332; +} +/** + * Lining Definition Style Markup + * +
+
+
+
+ * + * Extend this object into your markup. + * + */ +.lining dt, +.lining dd { + display: inline; + margin: 0; +} +.lining dt + dt:before, +.lining dd + dt:before { + content: "\A"; + white-space: pre; +} +.lining dd + dd:before { + content: ", "; +} +.lining dd:before { + content: ": "; + margin-left: -0.2rem; +} +/** + * Dictionary Definition Style Markup + * +
+
+
+
+ * + * Extend this object into your markup. + * + */ +.dictionary-style dt { + display: inline; + counter-reset: definitions; +} +.dictionary-style dt + dt:before { + content: ", "; + margin-left: -0.2rem; +} +.dictionary-style dd { + display: block; + counter-increment: definitions; +} +.dictionary-style dd:before { + content: counter(definitions, decimal) ". "; +} +/** + * Stats Tab Markup + * + + * + * Extend this object into your markup. + * + */ +.stats-tabs { + padding: 0; +} +.stats-tabs li { + display: inline-block; + margin: 0 0.625rem 0 0; + padding: 0 0.625rem 0 0; + border-right: 0.125rem solid #cccccc; +} +.stats-tabs li:last-child { + margin: 0; + padding: 0; + border: none; +} +.stats-tabs li a { + display: inline-block; + font-size: 1.5rem; + font-weight: bold; +} +.stats-tabs li a b { + display: block; + margin: 0.125rem 0 0 0; + font-size: 0.875rem; + font-weight: normal; +} +/** + * Blockquote Markup + * +
+

″″

+ + + +
+ * + * Extend this object into your markup. + * + */ +.cite { + display: block; + font-size: 0.875em; + text-align: right; +} +/** + * Pull Quotes Markup + * + + * + * Extend this object into your custom stylesheet. + * + */ +.pull-quote { + position: relative; + padding: 1em; +} +.pull-quote:before, +.pull-quote:after { + height: 1em; + opacity: 0.15; + position: absolute; + font-size: 4em; +} +.pull-quote:before { + content: '“'; + top: 0em; + left: 0em; +} +.pull-quote:after { + content: '”'; + bottom: 0em; + right: 0em; +} +/** + * Figures Markup + * +
+
+ Fig. 4.2 | Type Anatomy, an excerpt from Mark Boulton's book"Designing for the Web" +
+
+ * + * Extend this object into your markup. + * + */ +/** + * Footnote Markup : Replace 'X' with your unique number for each footnote + * +
+

+ +
+ * + * Extend this object into your markup. + * + */ +/* Headings ============================================== */ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: 'PT Sans Narrow', sans-serif; + font-weight: 700; +} +h6 { + font-weight: 400; +} +/* Links ================================================= */ +a { + text-decoration: none; + color: #343434; +} +a:visited { + color: #4e4e4e; +} +a:hover { + color: #1a1a1a; +} +a:focus { + outline: thin dotted; + color: #343434; +} +a:hover, +a:active { + outline: 0; +} +b, +strong { + font-weight: 700; +} +/* Lists ============================================== */ +ul li { + list-style-type: square; +} +ol li { + list-style-type: upper-roman; +} +/* Add underline for main links ======================= */ +p > a, +li > a, +em > a, +a > em, +footer a { + text-decoration: none; + border-bottom: 1px dotted #b3b3b1; +} +p > a:hover, +li > a:hover, +em > a:hover, +footer a:hover { + text-decoration: none; + border-bottom: 1px solid #b3b3b1; +} +/* Figure caption ===================================== */ +figcaption { + margin-top: 0.75em; + line-height: 1.25; + font-size: 18px; + font-size: 1rem; + margin-bottom: 1.65rem; + font-family: 'PT Sans Narrow', sans-serif; + counter-increment: captions; +} +figcaption:before { + font-weight: 700; + text-transform: uppercase; + content: "Figure " counter(captions) ": "; +} +/* Notice ============================================== */ +.notice { + margin-top: 1.5em; + padding: .5em 1em; + text-indent: 0; + font-size: 90%; + background-color: #ddd; + border-left: 10px solid #ccc; +} +/* Blockquote =========================================== */ +blockquote { + font-style: italic; + margin-left: 0; + padding-left: 1em; + border-left: 10px solid #ccc; +} +blockquote p + p { + text-indent: 0; + margin-top: 0; +} +/* Footnotes ============================================= */ +.footnotes { + font-size: 90%; +} +/* Codeway Syntax highlighting ============================= */ +.CodeRay { + background-color: #efefef; + font-family: Monaco, "Courier New", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", monospace; + font-size: 80%; + color: #333332; + margin-bottom: 1.5em; +} +.CodeRay pre { + margin: 0px; + padding: 1em; +} +span.CodeRay { + white-space: pre; + border: 0px; + padding: 2px; +} +table.CodeRay { + border-collapse: collapse; + width: 100%; + padding: 2px; +} +table.CodeRay td { + padding: 1em 0.5em; + vertical-align: top; +} +.CodeRay .line-numbers, +.CodeRay .no { + background-color: #ECECEC; + color: #AAA; + text-align: right; +} +.CodeRay .line-numbers a { + color: #AAA; +} +.CodeRay .line-numbers tt { + font-weight: bold; +} +.CodeRay .line-numbers .highlighted { + color: #ff0000; +} +.CodeRay .line { + display: block; + float: left; + width: 100%; +} +.CodeRay span.line-numbers { + padding: 0 24px 0 4px; +} +.CodeRay .code { + width: 100%; +} +ol.CodeRay { + font-size: 10pt; +} +ol.CodeRay li { + white-space: pre; +} +.CodeRay .code pre { + overflow: auto; +} +.CodeRay .debug { + color: white ! important; + background: blue ! important; +} +.CodeRay .annotation { + color: #000077; +} +.CodeRay .attribute-name { + color: #ff0088; +} +.CodeRay .attribute-value { + color: #770000; +} +.CodeRay .binary { + color: #509; + font-weight: bold; +} +.CodeRay .comment { + color: #998; + font-style: italic; +} +.CodeRay .char { + color: #0044dd; +} +.CodeRay .char .content { + color: #0044dd; +} +.CodeRay .char .delimiter { + color: #003399; +} +.CodeRay .class { + color: #458; + font-weight: bold; +} +.CodeRay .complex { + color: #A08; + font-weight: bold; +} +.CodeRay .constant { + color: teal; +} +.CodeRay .color { + color: #00aa00; +} +.CodeRay .class-variable { + color: #336699; +} +.CodeRay .decorator { + color: #B0B; +} +.CodeRay .definition { + color: #099; + font-weight: bold; +} +.CodeRay .directive { + color: #088; + font-weight: bold; +} +.CodeRay .delimiter { + color: #000000; +} +.CodeRay .doc { + color: #997700; +} +.CodeRay .doctype { + color: #3344bb; +} +.CodeRay .doc-string { + color: #D42; + font-weight: bold; +} +.CodeRay .escape { + color: #666; + font-weight: bold; +} +.CodeRay .entity { + color: #800; + font-weight: bold; +} +.CodeRay .error { + color: #F00; + background-color: #ffaaaa; +} +.CodeRay .exception { + color: #C00; + font-weight: bold; +} +.CodeRay .filename { + color: #099; +} +.CodeRay .function { + color: #900; + font-weight: bold; +} +.CodeRay .global-variable { + color: teal; + font-weight: bold; +} +.CodeRay .hex { + color: #058; + font-weight: bold; +} +.CodeRay .integer { + color: #099; +} +.CodeRay .include { + color: #B44; + font-weight: bold; +} +.CodeRay .inline { + color: #000000; +} +.CodeRay .inline .inline { + background: #cccccc; +} +.CodeRay .inline .inline .inline { + background: #bbbbbb; +} +.CodeRay .inline .inline-delimiter { + color: #D14; +} +.CodeRay .inline-delimiter { + color: #D14; +} +.CodeRay .important { + color: #f00; +} +.CodeRay .interpreted { + color: #B2B; + font-weight: bold; +} +.CodeRay .instance-variable { + color: #008080; +} +.CodeRay .label { + color: #970; + font-weight: bold; +} +.CodeRay .local-variable { + color: #996633; +} +.CodeRay .octal { + color: #40E; + font-weight: bold; +} +.CodeRay .predefined-constant { + font-weight: bold; +} +.CodeRay .predefined { + color: #369; + font-weight: bold; +} +.CodeRay .preprocessor { + color: #579; +} +.CodeRay .pseudo-class { + color: #00C; + font-weight: bold; +} +.CodeRay .predefined-type { + color: #074; + font-weight: bold; +} +.CodeRay .reserved, +.keyword { + color: #000; + font-weight: bold; +} +.CodeRay .key { + color: #808; +} +.CodeRay .key .delimiter { + color: #606; +} +.CodeRay .key .char { + color: #80f; +} +.CodeRay .value { + color: #088; +} +.CodeRay .regexp { + background-color: #fff0ff; +} +.CodeRay .regexp .content { + color: #880088; +} +.CodeRay .regexp .delimiter { + color: #440044; +} +.CodeRay .regexp .modifier { + color: #cc22cc; +} +.CodeRay .regexp .function { + color: #404; + font-weight: bold; +} +.CodeRay .string { + color: #D20; +} +.CodeRay .string .string .string { + background-color: #ffd0d0; +} +.CodeRay .string .content { + color: #D14; +} +.CodeRay .string .char { + color: #D14; +} +.CodeRay .string .delimiter { + color: #D14; +} +.CodeRay .shell { + color: #dd1144; +} +.CodeRay .shell .delimiter { + color: #dd1144; +} +.CodeRay .symbol { + color: #990073; +} +.CodeRay .symbol .content { + color: #aa6600; +} +.CodeRay .symbol .delimiter { + color: #663300; +} +.CodeRay .tag { + color: #007700; +} +.CodeRay .tag-special { + color: #D70; + font-weight: bold; +} +.CodeRay .type { + color: #339; + font-weight: bold; +} +.CodeRay .variable { + color: #003366; +} +.CodeRay .insert { + background: #afa; +} +.CodeRay .delete { + background: #faa; +} +.CodeRay .change { + color: #aaf; + background: #007; +} +.CodeRay .head { + color: #f8f; + background: #550055; +} +.CodeRay .insert .insert { + color: #080; + font-weight: bold; +} +.CodeRay .delete .delete { + color: #800; + font-weight: bold; +} +.CodeRay .change .change { + color: #66f; +} +.CodeRay .head .head { + color: #f4f; +} +/* Gradients ============================================= */ +/* .bordered(COLOR, COLOR, COLOR, COLOR); ================ */ +/* .rounded(VALUE); ====================================== */ +/* .border-radius(VALUE,VALUE,VALUE,VALUE); ============== */ +/* .box-shadow(HORIZONTAL VERTICAL BLUR COLOR)) =========== */ +/* .drop-shadow(HORIZONTAL, VERTICAL, BLUR, ALPHA); ======= */ +/* .text-shadow(); ======================================== */ +/* .opacity(VALUE); ======================================= */ +/* .rotate(VALUEdeg); ===================================== */ +/* .scale(VALUE); ========================================= */ +/* .skew(VALUE, VALUE); =================================== */ +/* .transition(PROPERTY DURATION DELAY(OPTIONAL) TIMING-FINCTION); */ +/* .translate(VALUE, VALUE) =============================== */ +/* .background-alpha(VALUE VALUE); ======================== */ +/* .background-size(VALUE VALUE); ========================= */ +/* .background-clip(VALUE); (border-box, padding-box, content-box) */ +/* .box-sizing(VALUE); (border-box, padding-box, content-box) */ +/* Contain floats ========================================= */ +/* For image replacement ================================== */ +/* Hide from visual and speaking browsers ================= */ +.hidden { + display: none; + visibility: hidden; +} +/* Hide but maintain layout =============================== */ +/* .resize(VALUE) (none, both, horizontal, vertical, inherit) */ +/* .userselect(VALUE) (all, element, none, text) ========== */ +/* Hidden but available to speaking browsers ============== */ +/* Make visuallyhidden focusable with a keyboard ========== */ +.visuallyhidden.focusable:active, +.visuallyhidden.focusable:focus { + position: static; + clip: auto; + height: auto; + width: auto; + margin: 0; + overflow: visible; +} +/* Responsive visibility utilities =================================== */ +/* For desktops =========================================== */ +.visible-phone { + display: none !important; +} +.visible-tablet { + display: none !important; +} +.hidden-desktop { + display: none !important; +} +/* Mobile phones only =====================================*/ +@media (max-width: 767px) { + .visible-phone { + display: inherit !important; + } + .hidden-phone { + display: none !important; + } + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important; + } +} +/* Tablets & small desktops only ========================== */ +@media (min-width: 768px) and (max-width: 979px) { + .visible-tablet { + display: inherit !important; + } + .hidden-tablet { + display: none !important; + } + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important ; + } +} +/* .columns(250px, 0, 24px, COLOR, solid, 1px) ============ */ +/* Figures, images, social media, other elements =========== */ +hr { + display: block; + margin: 1em 0; + padding: 0; + height: 1px; + border: 0; + border-top: 1px solid #ccc; + border-bottom: 1px solid #fff; +} +/* Figures and images ==================================== */ +article img { + max-width: 100%; + height: auto; + border-width: 0; + vertical-align: middle; + -ms-interpolation-mode: bicubic; +} +svg:not(:root) { + overflow: hidden; +} +.half { + margin: 0 auto; + width: 100%; + *zoom: 1; +} +.half:before, +.half:after { + display: table; + content: ""; +} +.half:after { + clear: both; +} +.half:before, +.half:after { + content: ""; + display: table; +} +.half:after { + clear: both; +} +.half img { + display: inline; + float: left; + width: 50%; +} +.half figcaption { + display: inline; + float: left; + width: 100%; +} +.third { + margin: 0 auto; + width: 100%; + *zoom: 1; +} +.third:before, +.third:after { + display: table; + content: ""; +} +.third:after { + clear: both; +} +.third:before, +.third:after { + content: ""; + display: table; +} +.third:after { + clear: both; +} +.third img { + display: inline; + float: left; + width: 33.333333333333336%; +} +.third figcaption { + display: inline; + float: left; + width: 100%; +} +/* Buttons =============================================== */ +.btn { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; + padding: 12px; + margin-bottom: 2em; + line-height: 1; + text-align: center; + text-transform: uppercase; + vertical-align: middle; + border: 4px double #333332; + cursor: pointer; + *margin-left: .3em; + -webkit-transition: 0.4s linear; + -moz-transition: 0.4s linear; + -ms-transition: 0.4s linear; + -o-transition: 0.4s linear; + transition: 0.4s linear; +} +.btn:visited { + border: 4px double #4e4e4e; +} +.btn:hover { + border: 4px double #1a1a1a; +} +.btn:first-child { + *margin-left: 0; +} +.btn-inverse { + border: 4px double #ffffff; + color: #ffffff; + background-color: #000000; +} +.btn-inverse:visited { + color: #ffffff; + border-color: #ffffff; +} +.btn-inverse:hover { + color: #ffffff; + border-color: #ffffff; +} +/* Standard form controls ================================== */ +form { + margin: 0 0 5px 0; +} +form fieldset { + margin-bottom: 5px; + padding: 0; + border-width: 0; +} +form legend { + display: block; + width: 100%; + margin-bottom: 10px; + *margin-left: -7px; + padding: 0; + color: #333332; + border: 0; + border-bottom: 1px solid #cccccc; + white-space: normal; +} +form p { + margin-bottom: 2.5px; +} +form ul { + list-style-type: none; + margin: 0 0 5px 0; + padding: 0; +} +form br { + display: none; +} +label, +input, +button, +select, +textarea { + vertical-align: baseline; + *vertical-align: middle; +} +input, +button, +select, +textarea { + font-family: 'PT Serif', serif; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; +} +label { + display: block; + margin-bottom: 1.25px; + font-weight: bold; + color: #333332; + cursor: pointer; +} +label input, +label textarea, +label select { + display: block; +} +input, +textarea, +select { + display: inline-block; + width: 100%; + padding: 4px; + margin-bottom: 1.25px; + background-color: #ffffff; + border: 1px solid #cccccc; + color: #333332; +} +input:hover, +textarea:hover, +select:hover { + border-color: #808080; +} +.input-mini { + width: 60px; +} +.input-small { + width: 90px; +} +input[type="image"], +input[type="checkbox"], +input[type="radio"] { + width: auto; + height: auto; + padding: 0; + margin: 3px 0; + *margin-top: 0; + line-height: normal; + cursor: pointer; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + border: 0 \9; +} +input[type="checkbox"], +input[type="radio"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + padding: 0; + *width: 13px; + *height: 13px; +} +input[type="image"] { + border: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +input[type="file"] { + width: auto; + padding: initial; + line-height: initial; + border: initial; + background-color: transparent; + background-color: initial; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +input[type="button"], +input[type="reset"], +input[type="submit"] { + width: auto; + height: auto; + cursor: pointer; + *overflow: visible; +} +select, +input[type="file"] { + *margin-top: 4px; +} +select { + width: auto; + background-color: #ffffff; +} +select[multiple], +select[size] { + height: auto; +} +textarea { + resize: vertical; + height: auto; + overflow: auto; + vertical-align: top; +} +input[type="hidden"] { + display: none; +} +.radio, +.checkbox { + padding-left: 18px; + font-weight: normal; +} +.radio input[type="radio"], +.checkbox input[type="checkbox"] { + float: left; + margin-left: -18px; +} +.radio.inline, +.checkbox.inline { + display: inline-block; + padding-top: 5px; + margin-bottom: 0; + vertical-align: middle; +} +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { + margin-left: 10px; +} +/* disabled ==================================== */ +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { + -webkit-opacity: 0.5; + -moz-opacity: 0.5; + opacity: 0.5; + cursor: not-allowed; +} +/* focus and active ============================ */ +input:focus, +textarea:focus { + border-color: #000000; + outline: 0; + outline: thin dotted \9; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus, +select:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +/* help text ==================================== */ +.help-block, +.help-inline { + color: #808080; +} +.help-block { + display: block; + margin-bottom: 1em; + line-height: 1em; +} +.help-inline { + display: inline-block; + vertical-align: middle; + padding-left: 5px; +} +/* .form-inline ================================= */ +.form-inline input, +.form-inline textarea, +.form-inline select { + display: inline-block; + margin-bottom: 0; +} +.form-inline label { + display: inline-block; +} +.form-inline .radio, +.form-inline .checkbox, +.form-inline .radio { + padding-left: 0; + margin-bottom: 0; + vertical-align: middle; +} +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { + float: left; + margin-left: 0; + margin-right: 3px; +} +/* .form-search ================================= */ +.form-search input, +.form-search textarea, +.form-search select { + display: inline-block; + margin-bottom: 0; +} +.form-search .search-query { + padding-left: 14px; + padding-right: 14px; + margin-bottom: 0; + -webkit-border-radius: 14px; + -moz-border-radius: 14px; + border-radius: 14px; +} +.form-search label { + display: inline-block; +} +.form-search .radio, +.form-search .checkbox, +.form-inline .radio { + padding-left: 0; + margin-bottom: 0; + vertical-align: middle; +} +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"] { + float: left; + margin-left: 0; + margin-right: 3px; +} +/* Page level layout styles ================================ */ +html { + background: #ebebeb url(../img/background-light.jpg); + font-family: 'PT Serif', serif; + font-color: #333332; + font-size: 90%; +} +.navigation-wrapper { + margin: 0 auto; + width: 100%; + padding: 2em 0 3em; + font-family: 'PT Sans Narrow', sans-serif; + font-weight: 700; + text-transform: uppercase; +} +.site-name { + margin: 0 auto; + width: 100%; + display: inline; + float: left; + width: 83.33333333333334%; + margin-left: 8.333333333333334%; + margin-right: 8.333333333333334%; + margin-bottom: 1em; +} +.top-navigation { + margin: 0 auto; + width: 100%; + display: inline; + float: left; + width: 83.33333333333334%; + margin-left: 8.333333333333334%; + margin-right: 8.333333333333334%; + margin-bottom: 1em; +} +.top-navigation ul { + list-style: none; + margin: 0; + padding: 0; +} +.top-navigation li { + list-style-type: none; + display: inline; + margin-right: 25px; +} +.top-navigation li:after { + content: "."; +} +.top-navigation li a { + decoration: none; + border-bottom: 0 solid transparent; +} +#main { + counter-reset: captions; + margin: 0 auto; + width: 100%; + *zoom: 1; + clear: both; + margin-top: 1em; +} +#main:before, +#main:after { + display: table; + content: ""; +} +#main:after { + clear: both; +} +#main:before, +#main:after { + content: ""; + display: table; +} +#main:after { + clear: both; +} +#main article { + margin: 0 auto; + width: 100%; + display: inline; + float: left; + width: 83.33333333333334%; + margin-left: 8.333333333333334%; + margin-right: 8.333333333333334%; + margin-bottom: 2em; +} +#index { + margin: 0 auto; + width: 100%; + display: inline; + float: left; + width: 83.33333333333334%; + margin-left: 8.333333333333334%; + margin-right: 8.333333333333334%; + margin-bottom: 2em; +} +#index article h2 { + font-size: 24px; + font-size: 1.3333333333333332rem; + margin-bottom: 1.2375rem; + margin-bottom: 0; +} +#index article p + p { + text-indent: 0; +} +.image-wrap { + position: relative; + margin-bottom: 2em; +} +.image-wrap:after { + content: " "; + display: block; + position: absolute; + bottom: -1px; + left: 8%; + width: 0; + height: 0; + border: 20px solid transparent; + border-bottom-color: #ebebeb; +} +.image-wrap img { + width: 100%; + height: auto; + -ms-interpolation-mode: bicubic; +} +.image-wrap .headline-wrap { + position: absolute; + bottom: 25px; + margin-left: 8.333333333333334%; +} +.image-wrap .headline-wrap h1, +.image-wrap .headline-wrap h2 { + color: #ffffff; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25); +} +.headline-wrap h1 { + font-size: 48px; + font-size: 2.6666666666666665rem; + margin-bottom: 0.61875rem; +} +.headline-wrap h2 { + font-size: 24px; + font-size: 1.3333333333333332rem; + margin-bottom: 1.2375rem; + text-transform: uppercase; +} +.article-wrap h2 { + font-size: 36px; + font-size: 2rem; + margin-bottom: 0.825rem; +} +.article-wrap h3 { + font-size: 24px; + font-size: 1.3333333333333332rem; + margin-bottom: 1.2375rem; +} +.byline { + clear: both; + font-size: 80%; +} +.article-author-top h4, +.article-author-bottom h4 { + margin-bottom: 0.5em; +} +.article-author-top p, +.article-author-bottom p { + font-size: 80%; + font-style: italic; +} +.article-author-top a, +.article-author-bottom a, +.article-author-top a:hover, +.article-author-bottom a:hover { + border-bottom: 0 solid transparent; +} +.article-author-top img.bio-photo, +.article-author-bottom img.bio-photo { + -webkit-border-radius: 100px; + -moz-border-radius: 100px; + border-radius: 100px; +} +.article-author-top { + display: none; +} +.article-author-bottom .bio-photo { + float: left; + margin-right: 25px; +} +.toc { + display: none; + font-size: 95%; + -webkit-opacity: 0.7; + -moz-opacity: 0.7; + opacity: 0.7; + -webkit-transition: opacity 0.2s ease-in-out; + -moz-transition: opacity 0.2s ease-in-out; + -ms-transition: opacity 0.2s ease-in-out; + -o-transition: opacity 0.2s ease-in-out; + transition: opacity 0.2s ease-in-out; +} +.toc:hover { + -webkit-opacity: 1; + -moz-opacity: 1; + opacity: 1; +} +.toc header { + background: #1a1a1a; +} +.toc h3 { + margin: 0; + padding: 5px 10px; + color: #ffffff; +} +.toc h3:hover { + cursor: pointer; +} +.toc ul { + margin: 2px 0 0; + padding: 0; + background: #4d4d4d; + line-height: 1; +} +.toc li { + display: block; + margin: 0; + padding: 0; + font-family: 'PT Sans Narrow', sans-serif; + border-bottom: 1px solid #808080; +} +.toc li:last-child { + border-bottom: 0 solid transparent; +} +.toc li a, +.toc li a:hover { + color: #ffffff; + border-bottom: 0 solid transparent; +} +.toc li a { + padding: 10px; + display: block; +} +.toc li ul { + margin: 0; + border-top: 1px solid #808080; +} +.image-grid { + *zoom: 1; + list-style: none; + margin: 0 0 1em; + padding: 0; +} +.image-grid:before, +.image-grid:after { + display: table; + content: ""; +} +.image-grid:after { + clear: both; +} +.image-grid:before, +.image-grid:after { + content: ""; + display: table; +} +.image-grid:after { + clear: both; +} +.image-grid li { + display: inline; + float: left; + width: 50%; +} +.recent-grid { + *zoom: 1; + list-style: none; + margin: 1em 0; +} +.recent-grid:before, +.recent-grid:after { + display: table; + content: ""; +} +.recent-grid:after { + clear: both; +} +.recent-grid:before, +.recent-grid:after { + content: ""; + display: table; +} +.recent-grid:after { + clear: both; +} +.recent-grid li { + display: inline; +} +.recent-grid li a { + border-bottom: 0 solid transparent; +} +.recent-grid li a:hover { + border-bottom: 0 solid transparent; +} +.recent-grid img { + width: 19%; + margin-bottom: 1%; +} +.holder { + font-family: 'PT Sans Narrow', sans-serif; +} +.holder a { + cursor: pointer; + margin: 0 5px; +} +.holder a.jp-previous { + margin-left: 0; + margin-right: 15px; +} +.holder a.jp-next { + margin-left: 15px; + margin-right: 0; +} +.holder a.jp-current { + font-weight: bold; +} +.holder a.jp-current, +.holder a.jp-current:hover, +.holder a.jp-disabled, +.holder a.jp-disabled:hover { + cursor: default; + background: none; +} +.holder span { + margin: 0 5px; +} +.footer-wrap { + margin: 0 auto; + width: 100%; + *zoom: 1; + clear: both; + margin-top: 1em; + padding-top: 2em; + padding-bottom: 3em; + background: #000000 url(../img/background-dark.png); +} +.footer-wrap:before, +.footer-wrap:after { + display: table; + content: ""; +} +.footer-wrap:after { + clear: both; +} +.footer-wrap:before, +.footer-wrap:after { + content: ""; + display: table; +} +.footer-wrap:after { + clear: both; +} +.footer-wrap a, +.footer-wrap a:active, +.footer-wrap a:visited, +.footer-wrap p, +.footer-wrap h4, +.footer-wrap h5, +.footer-wrap h6 { + color: #bfbfbf; +} +.footer-wrap a { + border-bottom: 0 solid transparent; +} +.footer-wrap a:hover { + color: #ffffff; + border-bottom: 0 solid transparent; +} +.footer-wrap footer { + display: inline; + float: left; + width: 83.33333333333334%; + margin-left: 8.333333333333334%; + margin-right: 8.333333333333334%; +} +.related-articles { + display: inline; + float: left; + width: 83.33333333333334%; + margin-left: 8.333333333333334%; + margin-right: 8.333333333333334%; +} +.related-articles h4 { + font-size: 21px; + font-size: 1.1666666666666667rem; + margin-bottom: 1.4142857142857141rem; + text-transform: uppercase; + margin-bottom: 0; +} +.related-articles li { + margin-bottom: 0; + color: #ffffff; +} +.footer-icons li { + display: inline-block; + padding-right: 5px; +} +.footer-icons li a { + font-size: 24px; + font-size: 1.3333333333333332rem; + margin-bottom: 1.2375rem; + color: #9a9a9a; + -webkit-transition: 0.4s linear; + -moz-transition: 0.4s linear; + -ms-transition: 0.4s linear; + -o-transition: 0.4s linear; + transition: 0.4s linear; +} +.footer-icons li a:hover { + text-decoration: none; + border-bottom: none; +} +.footer-icons li a:hover .icon-twitter, +.footer-icons li a:hover .icon-twitter-sign { + color: #2aa9df; +} +.footer-icons li a:hover .icon-facebook, +.footer-icons li a:hover .icon-facebook-sign { + color: #3a5a98; +} +.footer-icons li a:hover .icon-instagram, +.footer-icons li a:hover .icon-instagram-sign { + color: #306088; +} +.footer-icons li a:hover .icon-google-plus, +.footer-icons li a:hover .icon-google-plus-sign { + color: #b63324; +} +.footer-icons li a:hover .icon-lastfm, +.footer-icons li a:hover .icon-lastfm-sign { + color: #d80049; +} +.footer-icons li a:hover .icon-github { + color: #4183c4; +} +.chrome-frame { + background: #000; + margin: 0 0 2em 0; + padding: 10px; + text-align: center; + color: #ffffff; +} +.chrome-frame a { + color: #ffffff; + border-bottom: 1px dotted #ffffff; + text-decoration: none; +} +.chrome-frame a:hover { + border-bottom: 1px solid #ffffff; +} +/* jQuery Magnific-Popup =================================== */ +/* Magnific Popup CSS */ +.mfp-bg { + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 502; + overflow: hidden; + position: fixed; + background: #0b0b0b; + opacity: 0.8; + filter: alpha(opacity=80); +} +.mfp-wrap { + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 503; + position: fixed; + outline: none !important; + -webkit-backface-visibility: hidden; +} +.mfp-container { + text-align: center; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + padding: 0 8px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.mfp-container:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} +.mfp-align-top .mfp-container:before { + display: none; +} +.mfp-content { + position: relative; + display: inline-block; + vertical-align: middle; + margin: 0 auto; + text-align: left; + z-index: 505; +} +.mfp-inline-holder .mfp-content, +.mfp-ajax-holder .mfp-content { + width: 100%; + cursor: auto; +} +.mfp-ajax-cur { + cursor: progress; +} +.mfp-zoom-out-cur, +.mfp-zoom-out-cur .mfp-image-holder .mfp-close { + cursor: -moz-zoom-out; + cursor: -webkit-zoom-out; + cursor: zoom-out; +} +.mfp-zoom, +.image-popup { + cursor: pointer; + cursor: -webkit-zoom-in; + cursor: -moz-zoom-in; + cursor: zoom-in; +} +.mfp-auto-cursor .mfp-content { + cursor: auto; +} +.mfp-close, +.mfp-arrow, +.mfp-preloader, +.mfp-counter { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.mfp-loading.mfp-figure { + display: none; +} +.mfp-hide { + display: none !important; +} +.mfp-preloader { + color: #cccccc; + position: absolute; + top: 50%; + width: auto; + text-align: center; + margin-top: -0.8em; + left: 8px; + right: 8px; + z-index: 504; +} +.mfp-preloader a { + color: #cccccc; +} +.mfp-preloader a:hover { + color: white; +} +.mfp-s-ready .mfp-preloader { + display: none; +} +.mfp-s-error .mfp-content { + display: none; +} +button.mfp-close, +button.mfp-arrow { + overflow: visible; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; + display: block; + padding: 0; + z-index: 506; +} +button::-moz-focus-inner { + padding: 0; + border: 0; +} +.mfp-close { + width: 44px; + height: 44px; + line-height: 44px; + position: absolute; + right: 0; + top: 0; + text-decoration: none; + text-align: center; + opacity: 0.65; + padding: 0 0 18px 10px; + color: white; + font-style: normal; + font-size: 28px; + font-family: Arial, Baskerville, monospace; +} +.mfp-close:hover, +.mfp-close:focus { + opacity: 1; +} +.mfp-close:active { + top: 1px; +} +.mfp-close-btn-in .mfp-close { + color: #333333; +} +.mfp-image-holder .mfp-close, +.mfp-iframe-holder .mfp-close { + color: white; + right: -6px; + text-align: right; + padding-right: 6px; + width: 100%; +} +.mfp-counter { + position: absolute; + top: 0; + right: 0; + color: #cccccc; + font-size: 12px; + line-height: 18px; +} +.mfp-arrow { + text-indent: 100%; + white-space: nowrap; + overflow: hidden; + position: absolute; + top: 0; + opacity: 0.65; + margin: 0; + top: 50%; + margin-top: -55px; + padding: 0; + width: 90px; + height: 110px; + background-color: #000000; + -webkit-transition: opacity 0.2s ease-in-out; + -moz-transition: opacity 0.2s ease-in-out; + -ms-transition: opacity 0.2s ease-in-out; + -o-transition: opacity 0.2s ease-in-out; + transition: opacity 0.2s ease-in-out; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +.mfp-arrow:active { + margin-top: -54px; +} +.mfp-arrow:hover, +.mfp-arrow:focus { + opacity: 1; +} +.mfp-arrow:before, +.mfp-arrow:after, +.mfp-arrow .mfp-b, +.mfp-arrow .mfp-a { + content: ''; + display: block; + width: 0; + height: 0; + position: absolute; + left: 0; + top: 0; + margin-top: 35px; + margin-left: 35px; + border: solid transparent; +} +.mfp-arrow:after, +.mfp-arrow .mfp-a { + opacity: 0.8; + border-top-width: 12px; + border-bottom-width: 12px; + top: 8px; +} +.mfp-arrow:before, +.mfp-arrow .mfp-b { + border-top-width: 20px; + border-bottom-width: 20px; +} +.mfp-arrow-left { + left: 0; + -webkit-border-top-right-radius: 5px; + -webkit-border-bottom-right-radius: 5px; + -webkit-border-bottom-left-radius: 0; + -webkit-border-top-left-radius: 0; + -moz-border-radius-topright: 5px; + -moz-border-radius-bottomright: 5px; + -moz-border-radius-bottomleft: 0; + -moz-border-radius-topleft: 0; + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; + border-bottom-left-radius: 0; + border-top-left-radius: 0; + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} +.mfp-arrow-left:after, +.mfp-arrow-left .mfp-a { + border-right: 12px solid white; + left: 5px; +} +.mfp-arrow-left:before, +.mfp-arrow-left .mfp-b { + border-right: 20px solid white; +} +.mfp-arrow-right { + right: 0; + -webkit-border-top-right-radius: 0; + -webkit-border-bottom-right-radius: 0; + -webkit-border-bottom-left-radius: 5px; + -webkit-border-top-left-radius: 5px; + -moz-border-radius-topright: 0; + -moz-border-radius-bottomright: 0; + -moz-border-radius-bottomleft: 5px; + -moz-border-radius-topleft: 5px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 5px; + border-top-left-radius: 5px; + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} +.mfp-arrow-right:after, +.mfp-arrow-right .mfp-a { + border-left: 12px solid white; + left: 3px; +} +.mfp-arrow-right:before, +.mfp-arrow-right .mfp-b { + border-left: 20px solid white; +} +.mfp-iframe-holder { + padding-top: 40px; + padding-bottom: 40px; +} +.mfp-iframe-holder .mfp-content { + line-height: 0; + width: 100%; + max-width: 900px; +} +.mfp-iframe-scaler { + width: 100%; + height: 0; + overflow: hidden; + padding-top: 56.25%; +} +.mfp-iframe-scaler iframe { + position: absolute; + top: -3px; + left: 0; + width: 100%; + height: 100%; + box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); + background: black; +} +.mfp-iframe-holder .mfp-close { + top: -43px; +} +/* Main image in popup */ +img.mfp-img { + width: auto; + max-width: 100%; + height: auto; + display: block; + line-height: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 40px 0 40px; + margin: 0 auto; +} +/* The shadow behind the image */ +.mfp-figure:after { + content: ''; + position: absolute; + left: 0; + top: 40px; + bottom: 40px; + display: block; + right: 0; + width: auto; + height: auto; + z-index: -1; + box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); +} +.mfp-figure { + line-height: 0; +} +.mfp-bottom-bar { + margin-top: -36px; + position: absolute; + top: 100%; + left: 0; + width: 100%; + cursor: auto; +} +.mfp-title { + text-align: left; + line-height: 18px; + color: #f3f3f3; +} +.mfp-figure small { + color: #bdbdbd; + display: block; + font-size: 12px; + line-height: 14px; +} +.mfp-image-holder .mfp-content { + max-width: 100%; +} +.mfp-gallery .mfp-image-holder .mfp-figure { + cursor: pointer; +} +@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) { + /** + * Remove all paddings around the image on small screen + */ + .mfp-img-mobile .mfp-image-holder { + padding-left: 0; + padding-right: 0; + } + .mfp-img-mobile img.mfp-img { + padding: 0; + } + /* The shadow behind the image */ + .mfp-img-mobile .mfp-figure:after { + top: 0; + bottom: 0; + } + .mfp-img-mobile .mfp-bottom-bar { + background: rgba(0, 0, 0, 0.6); + bottom: 0; + margin: 0; + top: auto; + padding: 3px 5px; + position: fixed; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .mfp-img-mobile .mfp-bottom-bar:empty { + padding: 0; + } + .mfp-img-mobile .mfp-counter { + right: 5px; + top: 3px; + } + .mfp-img-mobile .mfp-close { + top: 0; + right: 0; + width: 35px; + height: 35px; + line-height: 35px; + background: rgba(0, 0, 0, 0.6); + position: fixed; + text-align: center; + padding: 0; + } + .mfp-img-mobile .mfp-figure small { + display: inline; + margin-left: 5px; + } +} +@media all and (max-width: 800px) { + .mfp-arrow { + -webkit-transform: scale(0.75); + transform: scale(0.75); + } + .mfp-arrow-left { + -webkit-transform-origin: 0; + transform-origin: 0; + } + .mfp-arrow-right { + -webkit-transform-origin: 100%; + transform-origin: 100%; + } + .mfp-container { + padding-left: 6px; + padding-right: 6px; + } +} +.mfp-ie7 .mfp-img { + padding: 0; +} +.mfp-ie7 .mfp-bottom-bar { + width: 600px; + left: 50%; + margin-left: -300px; + margin-top: 5px; + padding-bottom: 5px; +} +.mfp-ie7 .mfp-container { + padding: 0; +} +.mfp-ie7 .mfp-content { + padding-top: 44px; +} +.mfp-ie7 .mfp-close { + top: 0; + right: 0; + padding-top: 0; +} +/** + * Fade-zoom animation for first dialog + */ +/* start state */ +.mfp-fade .zoom-anim-dialog { + opacity: 0; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + -webkit-transform: scale(0.8); + -moz-transform: scale(0.8); + -ms-transform: scale(0.8); + -o-transform: scale(0.8); + transform: scale(0.8); +} +/* animate in */ +.mfp-fade.mfp-ready .zoom-anim-dialog { + opacity: 1; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); + transform: scale(1); +} +/* animate out */ +.mfp-fade.mfp-removing .zoom-anim-dialog { + -webkit-transform: scale(0.8); + -moz-transform: scale(0.8); + -ms-transform: scale(0.8); + -o-transform: scale(0.8); + transform: scale(0.8); + opacity: 0; +} +/* Dark overlay, start state */ +.mfp-fade.mfp-bg { + opacity: 0; + -webkit-transition: opacity 0.3s ease-out; + -moz-transition: opacity 0.3s ease-out; + -ms-transition: opacity 0.3s ease-out; + -o-transition: opacity 0.3s ease-out; + transition: opacity 0.3s ease-out; +} +/* animate in */ +.mfp-fade.mfp-ready.mfp-bg { + opacity: 0.8; +} +/* animate out */ +.mfp-fade.mfp-removing.mfp-bg { + opacity: 0; +} +/* Print =================================================== */ +@media print { + * { + background: transparent !important; + color: black !important; + box-shadow: none !important; + text-shadow: none !important; + filter: none !important; + -ms-filter: none !important; + position: static !important; + } + @page { + margin: 0.5cm; + } + h2, + h3 { + orphans: 3; + widows: 3; + page-break-after: avoid; + } + p { + orphans: 3; + widows: 3; + } + pre, + blockquote { + border: 1px solid #333; + page-break-inside: avoid; + padding: 1em; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + img { + max-width: 100% !important; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr { + page-break-inside: avoid; + } +} +/* 480px wide ============================================== */ +@media only screen and (min-width: 30em) { + .image-grid li { + width: 33.333333%; + } +} +/* 600px wide ============================================== */ +@media only screen and (min-width: 37.5em) { + html { + font-size: 95%; + } + .site-name { + display: inline; + float: left; + width: 16.666666666666668%; + margin-left: 4.166666666666667%; + margin-right: 4.166666666666667%; + } + .top-navigation { + display: inline; + float: left; + width: 75%; + margin-left: 0%; + margin-right: 0%; + } + .image-wrap .headline-wrap { + margin-left: 25%; + } + .image-wrap:after { + left: 25%; + } + #main article { + display: inline; + float: left; + width: 50%; + margin-left: 0%; + margin-right: 0%; + } + #index { + display: inline; + float: left; + width: 50%; + margin-left: 0%; + margin-right: 0%; + } + .footer-wrap footer { + display: inline; + float: left; + width: 50%; + margin-left: 25%; + margin-right: 25%; + } + .article-author-top { + display: block; + display: inline; + float: left; + width: 16.666666666666668%; + margin-left: 4.166666666666667%; + margin-right: 4.166666666666667%; + } + .article-author-bottom { + display: none; + } + .toc { + display: block; + display: inline; + float: left; + width: 16.666666666666668%; + margin-left: 4.166666666666667%; + margin-right: 4.166666666666667%; + position: fixed; + top: 25px; + right: 0; + -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); + -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); + box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); + } + .image-grid li { + width: 25%; + } + .related-articles { + display: inline; + float: left; + width: 50%; + margin-left: 25%; + margin-right: 25%; + } +} +/* 768px wide ============================================== */ +@media only screen and (min-width: 48em) { + html { + font-size: 100%; + } + /* Image Grid ============================================== */ + .image-grid li { + width: 20%; + } +} +/* 992px wide ============================================== */ +@media only screen and (min-width: 62em) { + html { + font-size: 112.5%; + } + /* Image Grid ============================================== */ + .image-grid li { + width: 16.666666666%; + } +} +/* 1382px wide ============================================= */ +@media only screen and (min-width: 86.375em) { + .site-name { + display: inline; + float: left; + width: 12.5%; + margin-left: 16.666666666666668%; + } + .top-navigation { + display: inline; + float: left; + width: 66.66666666666667%; + } + .image-wrap img { + display: inline; + float: left; + width: 66.66666666666667%; + margin-left: 16.666666666666668%; + margin-right: 16.666666666666668%; + margin-top: 1em; + margin-bottom: 2em; + } + .image-wrap:after { + left: 33.333333333%; + } + .image-wrap .headline-wrap { + margin-left: 33.333333333333336%; + } + #main article { + display: inline; + float: left; + width: 37.5%; + } + #index { + display: inline; + float: left; + width: 37.5%; + } + .related-articles { + display: inline; + float: left; + width: 37.5%; + margin-left: 33.333333333333336%; + margin-right: 29.166666666666668%; + } + .footer-wrap footer { + display: inline; + float: left; + width: 37.5%; + margin-left: 33.333333333333336%; + margin-right: 29.166666666666668%; + } + .article-author-top { + display: inline; + float: left; + width: 12.5%; + margin-left: 16.666666666666668%; + } +} +/* 2x for retina displays ================================== */ +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + +} diff --git a/assets/img/background-dark.png b/assets/img/background-dark.png new file mode 100644 index 00000000..2fd96e8f Binary files /dev/null and b/assets/img/background-dark.png differ diff --git a/assets/img/background-light.jpg b/assets/img/background-light.jpg new file mode 100644 index 00000000..2d09b17d Binary files /dev/null and b/assets/img/background-light.jpg differ diff --git a/assets/js/main.js b/assets/js/main.js new file mode 100644 index 00000000..b50fdfe4 --- /dev/null +++ b/assets/js/main.js @@ -0,0 +1,1879 @@ +/*global jQuery */ +/*jshint multistr:true browser:true */ +/*! +* FitVids 1.0 +* +* Copyright 2011, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com +* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/ +* Released under the WTFPL license - http://sam.zoy.org/wtfpl/ +* +* Date: Thu Sept 01 18:00:00 2011 -0500 +*/ + +(function( $ ){ + + "use strict"; + + $.fn.fitVids = function( options ) { + var settings = { + customSelector: null + }; + + var div = document.createElement('div'), + ref = document.getElementsByTagName('base')[0] || document.getElementsByTagName('script')[0]; + + div.className = 'fit-vids-style'; + div.innerHTML = '­'; + + ref.parentNode.insertBefore(div,ref); + + if ( options ) { + $.extend( settings, options ); + } + + return this.each(function(){ + var selectors = [ + "iframe[src*='player.vimeo.com']", + "iframe[src*='www.youtube.com']", + "iframe[src*='www.youtube-nocookie.com']", + "iframe[src*='www.kickstarter.com']", + "object", + "embed" + ]; + + if (settings.customSelector) { + selectors.push(settings.customSelector); + } + + var $allVideos = $(this).find(selectors.join(',')); + + $allVideos.each(function(){ + var $this = $(this); + if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; } + var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(), + width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(), + aspectRatio = height / width; + if(!$this.attr('id')){ + var videoID = 'fitvid' + Math.floor(Math.random()*999999); + $this.attr('id', videoID); + } + $this.wrap('
').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+"%"); + $this.removeAttr('height').removeAttr('width'); + }); + }); + }; +})( jQuery ); + +/*! Magnific Popup - v0.8.5 - 2013-05-15 +* http://dimsemenov.com/plugins/magnific-popup/ +* Copyright (c) 2013 Dmitry Semenov; */ +;(function($) { + +/*>>core*/ +/** + * + * Magnific Popup Core JS file + * + */ + + +/** + * Private static constants + */ +var CLOSE_EVENT = 'Close', + BEFORE_APPEND_EVENT = 'BeforeAppend', + MARKUP_PARSE_EVENT = 'MarkupParse', + OPEN_EVENT = 'Open', + CHANGE_EVENT = 'Change', + NS = 'mfp', + EVENT_NS = '.' + NS, + READY_CLASS = 'mfp-ready', + REMOVING_CLASS = 'mfp-removing', + PREVENT_CLOSE_CLASS = 'mfp-prevent-close'; + + +/** + * Private vars + */ +var mfp, // As we have only one instance of MagnificPopup object, we define it locally to not to use 'this' + MagnificPopup = function(){}, + _isJQ = !!(window.jQuery), + _prevStatus, + _window = $(window), + _body, + _document, + _prevContentType, + _wrapClasses, + _currPopupType; + + +/** + * Private functions + */ +var _mfpOn = function(name, f) { + mfp.ev.on(NS + name + EVENT_NS, f); + }, + _getEl = function(className, appendTo, html, raw) { + var el = document.createElement('div'); + el.className = 'mfp-'+className; + if(html) { + el.innerHTML = html; + } + if(!raw) { + el = $(el); + if(appendTo) { + el.appendTo(appendTo); + } + } else if(appendTo) { + appendTo.appendChild(el); + } + return el; + }, + _mfpTrigger = function(e, data) { + mfp.ev.triggerHandler(NS + e, data); + + if(mfp.st.callbacks) { + // converts "mfpEventName" to "eventName" callback and triggers it if it's present + e = e.charAt(0).toLowerCase() + e.slice(1); + if(mfp.st.callbacks[e]) { + mfp.st.callbacks[e].apply(mfp, $.isArray(data) ? data : [data]); + } + } + }, + _setFocus = function() { + (mfp.st.focus ? mfp.content.find(mfp.st.focus).eq(0) : mfp.wrap).focus(); + }, + _getCloseBtn = function(type) { + if(type !== _currPopupType || !mfp.currTemplate.closeBtn) { + mfp.currTemplate.closeBtn = $( mfp.st.closeMarkup.replace('%title%', mfp.st.tClose ) ); + _currPopupType = type; + } + return mfp.currTemplate.closeBtn; + }, + // Initialize Magnific Popup only when called at least once + _checkInstance = function() { + if(!$.magnificPopup.instance) { + mfp = new MagnificPopup(); + mfp.init(); + $.magnificPopup.instance = mfp; + } + }, + // Check to close popup or not + // "target" is an element that was clicked + _checkIfClose = function(target) { + + if($(target).hasClass(PREVENT_CLOSE_CLASS)) { + return; + } + + var closeOnContent = mfp.st.closeOnContentClick; + var closeOnBg = mfp.st.closeOnBgClick; + + if(closeOnContent && closeOnBg) { + return true; + } else { + + // We close the popup if click is on close button or on preloader. Or if there is no content. + if(!mfp.content || $(target).hasClass('mfp-close') || (mfp.preloader && target === mfp.preloader[0]) ) { + return true; + } + + // if click is outside the content + if( (target !== mfp.content[0] && !$.contains(mfp.content[0], target)) ) { + if(closeOnBg) { + return true; + } + } else if(closeOnContent) { + return true; + } + + } + return false; + }; + + + +/** + * Public functions + */ +MagnificPopup.prototype = { + + constructor: MagnificPopup, + + /** + * Initializes Magnific Popup plugin. + * This function is triggered only once when $.fn.magnificPopup or $.magnificPopup is executed + */ + init: function() { + var appVersion = navigator.appVersion; + mfp.isIE7 = appVersion.indexOf("MSIE 7.") !== -1; + mfp.isIE8 = appVersion.indexOf("MSIE 8.") !== -1, + mfp.isLowIE = mfp.isIE7 || mfp.isIE8; + mfp.isAndroid = (/android/gi).test(appVersion); + mfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion); + // We disable fixed positioned lightbox on devices that don't handle it nicely. + // If you know a better way of detecting this - let me know. + mfp.probablyMobile = (mfp.isAndroid || mfp.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent) ); + _body = $(document.body); + _document = $(document); + + mfp.popupsCache = {}; + }, + + /** + * Opens popup + * @param data [description] + */ + open: function(data) { + + mfp.items = data.items.length ? data.items : [data.items]; + + if(mfp.isOpen) { + mfp.updateItemHTML(); + return; + } + + var i; + + mfp.types = []; + _wrapClasses = ''; + + mfp.ev = data.el || _document; + + if(data.isObj) { + mfp.index = data.index || 0; + } else { + mfp.index = 0; + var items = data.items, + item; + for(i = 0; i < items.length; i++) { + item = items[i]; + if(item.parsed) { + item = item.el[0]; + } + if(item === data.el[0]) { + mfp.index = i; + break; + } + } + } + + + if(data.key) { + if(!mfp.popupsCache[data.key]) { + mfp.popupsCache[data.key] = {}; + } + mfp.currTemplate = mfp.popupsCache[data.key]; + } else { + mfp.currTemplate = {}; + } + + + + mfp.st = $.extend(true, {}, $.magnificPopup.defaults, data ); + mfp.fixedContentPos = mfp.st.fixedContentPos === 'auto' ? !mfp.probablyMobile : mfp.st.fixedContentPos; + + + + // Building markup + // main containers are created only once + if(!mfp.bgOverlay) { + + // Dark overlay + mfp.bgOverlay = _getEl('bg').on('click'+EVENT_NS, function() { + mfp.close(); + }); + + mfp.wrap = _getEl('wrap').attr('tabindex', -1).on('click'+EVENT_NS, function(e) { + if(_checkIfClose(e.target)) { + mfp.close(); + } + }); + + mfp.container = _getEl('container', mfp.wrap); + } + + mfp.contentContainer = _getEl('content'); + if(mfp.st.preloader) { + mfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading); + } + + + // Initializing modules + var modules = $.magnificPopup.modules; + for(i = 0; i < modules.length; i++) { + var n = modules[i]; + n = n.charAt(0).toUpperCase() + n.slice(1); + mfp['init'+n].call(mfp); + } + _mfpTrigger('BeforeOpen'); + + + // Close button + if(!mfp.st.closeBtnInside) { + mfp.wrap.append( _getCloseBtn() ); + } else { + _mfpOn(MARKUP_PARSE_EVENT, function(e, template, values, item) { + values.close_replaceWith = _getCloseBtn(item.type); + }); + _wrapClasses += ' mfp-close-btn-in'; + } + + if(mfp.st.alignTop) { + _wrapClasses += ' mfp-align-top'; + } + + + + if(mfp.fixedContentPos) { + mfp.wrap.css({ + overflow: mfp.st.overflowY, + overflowX: 'hidden', + overflowY: mfp.st.overflowY + }); + } else { + mfp.wrap.css({ + top: _window.scrollTop(), + position: 'absolute' + }); + } + if( mfp.st.fixedBgPos === false || (mfp.st.fixedBgPos === 'auto' && !mfp.fixedContentPos) ) { + mfp.bgOverlay.css({ + height: _document.height(), + position: 'absolute' + }); + } + + + + // Close on ESC key + _document.on('keyup' + EVENT_NS, function(e) { + if(e.keyCode === 27) { + mfp.close(); + } + }); + + _window.on('resize' + EVENT_NS, function() { + mfp.updateSize(); + }); + + + if(!mfp.st.closeOnContentClick) { + _wrapClasses += ' mfp-auto-cursor'; + } + + if(_wrapClasses) + mfp.wrap.addClass(_wrapClasses); + + + // this triggers recalculation of layout, so we get it once to not to trigger twice + var windowHeight = mfp.wH = _window.height(); + + + var bodyStyles = {}; + + if( mfp.fixedContentPos ) { + var s = mfp._getScrollbarSize(); + if(s) { + bodyStyles.paddingRight = s; + } + } + + if(mfp.fixedContentPos) { + if(!mfp.isIE7) { + bodyStyles.overflow = 'hidden'; + } else { + // ie7 double-scroll bug + $('body, html').css('overflow', 'hidden'); + } + } + + + + var classesToadd = mfp.st.mainClass; + if(mfp.isIE7) { + classesToadd += ' mfp-ie7'; + } + if(classesToadd) { + mfp._addClassToMFP( classesToadd ); + } + + // add content + mfp.updateItemHTML(); + + _mfpTrigger('BuildControls'); + + + // remove scrollbar, add padding e.t.c + _body.css(bodyStyles); + + // add everything to DOM + mfp.bgOverlay.add(mfp.wrap).prependTo( document.body ); + + + + // Save last focused element + mfp._lastFocusedEl = document.activeElement; + + // Wait for next cycle to allow CSS transition + setTimeout(function() { + + if(mfp.content) { + mfp._addClassToMFP(READY_CLASS); + _setFocus(); + } else { + // if content is not defined (not loaded e.t.c) we add class only for BG + mfp.bgOverlay.addClass(READY_CLASS); + } + + // Trap the focus in popup + _document.on('focusin' + EVENT_NS, function (e) { + if( e.target !== mfp.wrap[0] && !$.contains(mfp.wrap[0], e.target) ) { + _setFocus(); + return false; + } + }); + + }, 16); + + mfp.isOpen = true; + mfp.updateSize(windowHeight); + _mfpTrigger(OPEN_EVENT); + }, + + /** + * Closes the popup + */ + close: function() { + if(!mfp.isOpen) return; + + mfp.isOpen = false; + // for CSS3 animation + if(mfp.st.removalDelay && !mfp.isLowIE) { + mfp._addClassToMFP(REMOVING_CLASS); + setTimeout(function() { + mfp._close(); + }, mfp.st.removalDelay); + } else { + mfp._close(); + } + }, + + /** + * Helper for close() function + */ + _close: function() { + _mfpTrigger(CLOSE_EVENT); + + var classesToRemove = REMOVING_CLASS + ' ' + READY_CLASS + ' '; + + mfp.bgOverlay.detach(); + mfp.wrap.detach(); + mfp.container.empty(); + + if(mfp.st.mainClass) { + classesToRemove += mfp.st.mainClass + ' '; + } + + mfp._removeClassFromMFP(classesToRemove); + + if(mfp.fixedContentPos) { + var bodyStyles = {paddingRight: 0}; + if(mfp.isIE7) { + $('body, html').css('overflow', 'auto'); + } else { + bodyStyles.overflow = 'visible'; + } + _body.css(bodyStyles); + } + + _document.off('keyup' + EVENT_NS + ' focusin' + EVENT_NS); + mfp.ev.off(EVENT_NS); + + // clean up DOM elements that aren't removed + mfp.wrap.attr('class', 'mfp-wrap').removeAttr('style'); + mfp.bgOverlay.attr('class', 'mfp-bg'); + mfp.container.attr('class', 'mfp-container'); + + // remove close button from target element + if(!mfp.st.closeBtnInside || mfp.currTemplate[mfp.currItem.type] === true ) { + if(mfp.currTemplate.closeBtn) + mfp.currTemplate.closeBtn.detach(); + } + + + if(mfp._lastFocusedEl) { + $(mfp._lastFocusedEl).focus(); // put tab focus back + } + mfp.currItem = null; + mfp.content = null; + mfp.currTemplate = null; + mfp.prevHeight = 0; + }, + + updateSize: function(winHeight) { + + if(mfp.isIOS) { + // fixes iOS nav bars https://github.com/dimsemenov/Magnific-Popup/issues/2 + var zoomLevel = document.documentElement.clientWidth / window.innerWidth; + var height = window.innerHeight * zoomLevel; + mfp.wrap.css('height', height); + mfp.wH = height; + } else { + mfp.wH = winHeight || _window.height(); + } + + _mfpTrigger('Resize'); + + }, + + /** + * Set content of popup based on current index + */ + updateItemHTML: function() { + var item = mfp.items[mfp.index]; + + // Detach and perform modifications + mfp.contentContainer.detach(); + + if(mfp.content) + mfp.content.detach(); + + if(!item.parsed) { + item = mfp.parseEl( mfp.index ); + } + + var type = item.type; + + _mfpTrigger('BeforeChange', [mfp.currItem ? mfp.currItem.type : '', type]); + // BeforeChange event works like so: + // _mfpOn('BeforeChange', function(e, prevType, newType) { }); + + mfp.currItem = item; + + + + + + if(!mfp.currTemplate[type]) { + var markup = mfp.st[type] ? mfp.st[type].markup : false; + + // allows to modify markup + _mfpTrigger('FirstMarkupParse', markup); + + if(markup) { + mfp.currTemplate[type] = $(markup); + } else { + // if there is no markup found we just define that template is parsed + mfp.currTemplate[type] = true; + } + } + + if(_prevContentType && _prevContentType !== item.type) { + mfp.container.removeClass('mfp-'+_prevContentType+'-holder'); + } + + var newContent = mfp['get' + type.charAt(0).toUpperCase() + type.slice(1)](item, mfp.currTemplate[type]); + mfp.appendContent(newContent, type); + + item.preloaded = true; + + _mfpTrigger(CHANGE_EVENT, item); + _prevContentType = item.type; + + // Append container back after its content changed + mfp.container.prepend(mfp.contentContainer); + + _mfpTrigger('AfterChange'); + }, + + + /** + * Set HTML content of popup + */ + appendContent: function(newContent, type) { + mfp.content = newContent; + + if(newContent) { + if(mfp.st.closeBtnInside && mfp.currTemplate[type] === true) { + // if there is no markup, we just append close button element inside + if(!mfp.content.find('.mfp-close').length) { + mfp.content.append(_getCloseBtn()); + } + } else { + mfp.content = newContent; + } + } else { + mfp.content = ''; + } + + _mfpTrigger(BEFORE_APPEND_EVENT); + mfp.container.addClass('mfp-'+type+'-holder'); + + mfp.contentContainer.append(mfp.content); + }, + + + + + /** + * Creates Magnific Popup data object based on given data + * @param {int} index Index of item to parse + */ + parseEl: function(index) { + var item = mfp.items[index], + type = item.type; + + + if(item.tagName) { + item = { el: $(item) }; + } else { + item = { data: item, src: item.src }; + } + + if(item.el) { + var types = mfp.types; + + // check for 'mfp-TYPE' class + for(var i = 0; i < types.length; i++) { + if( item.el.hasClass('mfp-'+types[i]) ) { + type = types[i]; + break; + } + } + + item.src = item.el.attr('data-mfp-src'); + if(!item.src) { + item.src = item.el.attr('href'); + } + } + + item.type = type || mfp.st.type || 'inline'; + item.index = index; + item.parsed = true; + mfp.items[index] = item; + _mfpTrigger('ElementParse', item); + + return mfp.items[index]; + }, + + + /** + * Initializes single popup or a group of popups + */ + addGroup: function(el, options) { + var eHandler = function(e) { + e.mfpEl = this; + mfp._openClick(e, el, options); + }; + + if(!options) { + options = {}; + } + + var eName = 'click.magnificPopup'; + options.mainEl = el; + + if(options.items) { + options.isObj = true; + el.off(eName).on(eName, eHandler); + } else { + options.isObj = false; + if(options.delegate) { + el.off(eName).on(eName, options.delegate , eHandler); + } else { + options.items = el; + el.off(eName).on(eName, eHandler); + } + } + }, + _openClick: function(e, el, options) { + var midClick = options.midClick !== undefined ? options.midClick : $.magnificPopup.defaults.midClick; + if( midClick || e.which !== 2 ) { + var disableOn = options.disableOn !== undefined ? options.disableOn : $.magnificPopup.defaults.disableOn; + + if(disableOn) { + if($.isFunction(disableOn)) { + if( !disableOn.call(mfp) ) { + return true; + } + } else { // else it's number + if( _window.width() < disableOn ) { + return true; + } + } + } + + if(e.type) + e.preventDefault(); + + options.el = $(e.mfpEl); + if(options.delegate) { + options.items = el.find(options.delegate); + } + mfp.open(options); + } + }, + + + /** + * Updates text on preloader + */ + updateStatus: function(status, text) { + + if(mfp.preloader) { + if(_prevStatus !== status) { + mfp.container.removeClass('mfp-s-'+_prevStatus); + } + + if(!text && status === 'loading') { + text = mfp.st.tLoading; + } + + var data = { + status: status, + text: text + }; + // allows to modify status + _mfpTrigger('UpdateStatus', data); + + status = data.status; + text = data.text; + + mfp.preloader.html(text); + + mfp.preloader.find('a').click(function(e) { + e.stopImmediatePropagation(); + }); + + mfp.container.addClass('mfp-s-'+status); + _prevStatus = status; + } + }, + + + /* + "Private" helpers that aren't private at all + */ + _addClassToMFP: function(cName) { + mfp.bgOverlay.addClass(cName); + mfp.wrap.addClass(cName); + }, + _removeClassFromMFP: function(cName) { + this.bgOverlay.removeClass(cName); + mfp.wrap.removeClass(cName); + }, + _hasScrollBar: function(winHeight) { + if(document.body.clientHeight > (winHeight || _window.height()) ) { + return true; + } + return false; + }, + + _parseMarkup: function(template, values, item) { + var arr; + if(item.data) { + values = $.extend(item.data, values); + } + _mfpTrigger(MARKUP_PARSE_EVENT, [template, values, item] ); + + $.each(values, function(key, value) { + if(value === undefined || value === false) { + return true; + } + arr = key.split('_'); + if(arr.length > 1) { + var el = template.find(EVENT_NS + '-'+arr[0]); + + if(el.length > 0) { + var attr = arr[1]; + if(attr === 'replaceWith') { + if(el[0] !== value[0]) { + el.replaceWith(value); + } + } else if(attr === 'img') { + if(el.is('img')) { + el.attr('src', value); + } else { + el.replaceWith( '' ); + } + } else { + el.attr(arr[1], value); + } + } + + } else { + template.find(EVENT_NS + '-'+key).html(value); + } + }); + }, + + _getScrollbarSize: function() { + // thx David + if(mfp.scrollbarSize === undefined) { + var scrollDiv = document.createElement("div"); + scrollDiv.id = "mfp-sbm"; + scrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;'; + document.body.appendChild(scrollDiv); + mfp.scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + } + return mfp.scrollbarSize; + } + +}; /* MagnificPopup core prototype end */ + + + + +/** + * Public static functions + */ +$.magnificPopup = { + instance: null, + proto: MagnificPopup.prototype, + modules: [], + + open: function(options, index) { + _checkInstance(); + + if(!options) + options = {}; + + options.isObj = true; + options.index = index || 0; + return this.instance.open(options); + }, + + close: function() { + return $.magnificPopup.instance.close(); + }, + + registerModule: function(name, module) { + if(module.options) { + $.magnificPopup.defaults[name] = module.options; + } + $.extend(this.proto, module.proto); + this.modules.push(name); + }, + + defaults: { + + // Info about options is in docs: + // http://dimsemenov.com/plugins/magnific-popup/documentation.html#options + + disableOn: 0, + + key: null, + + midClick: false, + + mainClass: '', + + preloader: true, + + focus: '', // CSS selector of input to focus after popup is opened + + closeOnContentClick: false, + + closeOnBgClick: true, + + closeBtnInside: true, + + alignTop: false, + + removalDelay: 0, + + fixedContentPos: 'auto', + + fixedBgPos: 'auto', + + overflowY: 'auto', + + closeMarkup: '', + + tClose: 'Close (Esc)', + + tLoading: 'Loading...' + + } +}; + + + +$.fn.magnificPopup = function(options) { + _checkInstance(); + + var jqEl = $(this); + + // We call some API method of first param is a string + if (typeof options === "string" ) { + + if(options === 'open') { + var items, + itemOpts = _isJQ ? jqEl.data('magnificPopup') : jqEl[0].magnificPopup, + index = parseInt(arguments[1], 10) || 0; + + if(itemOpts.items) { + items = itemOpts.items[index]; + } else { + items = jqEl; + if(itemOpts.delegate) { + items = items.find(itemOpts.delegate); + } + items = items.eq( index ); + } + mfp._openClick({mfpEl:items}, jqEl, itemOpts); + } else { + if(mfp.isOpen) + mfp[options].apply(mfp, Array.prototype.slice.call(arguments, 1)); + } + + } else { + + /* + * As Zepto doesn't support .data() method for objects + * and it works only in normal browsers + * we assign "options" object directly to the DOM element. FTW! + */ + if(_isJQ) { + jqEl.data('magnificPopup', options); + } else { + jqEl[0].magnificPopup = options; + } + + mfp.addGroup(jqEl, options); + + } + return jqEl; +}; + + +//Quick benchmark +/* +var start = performance.now(), + i, + rounds = 1000; + +for(i = 0; i < rounds; i++) { + +} +console.log('Test #1:', performance.now() - start); + +start = performance.now(); +for(i = 0; i < rounds; i++) { + +} +console.log('Test #2:', performance.now() - start); +*/ + +/*>>core*/ + +/*>>inline*/ + +var INLINE_NS = 'inline', + _hiddenClass, + _inlinePlaceholder, + _lastInlineElement, + _putInlineElementsBack = function() { + if(_lastInlineElement) { + _inlinePlaceholder.after( _lastInlineElement.addClass(_hiddenClass) ).detach(); + _lastInlineElement = null; + } + }; + +$.magnificPopup.registerModule(INLINE_NS, { + options: { + hiddenClass: 'hide', // will be appended with `mfp-` prefix + markup: '', + tNotFound: 'Content not found' + }, + proto: { + + initInline: function() { + mfp.types.push(INLINE_NS); + + _mfpOn(CLOSE_EVENT+'.'+INLINE_NS, function() { + _putInlineElementsBack(); + }); + }, + + getInline: function(item, template) { + + _putInlineElementsBack(); + + if(item.src) { + var inlineSt = mfp.st.inline, + el = $(item.src); + + if(el.length) { + + // If target element has parent - we replace it with placeholder and put it back after popup is closed + if(el[0].parentNode !== null) { + if(!_inlinePlaceholder) { + _hiddenClass = inlineSt.hiddenClass; + _inlinePlaceholder = _getEl(_hiddenClass); + _hiddenClass = 'mfp-'+_hiddenClass; + } + // replace target inline element with placeholder + _lastInlineElement = el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass); + } + + mfp.updateStatus('ready'); + } else { + mfp.updateStatus('error', inlineSt.tNotFound); + el = $('
'); + } + + item.inlineElement = el; + return el; + } + + mfp.updateStatus('ready'); + mfp._parseMarkup(template, {}, item); + return template; + } + } +}); + +/*>>inline*/ + +/*>>ajax*/ +var AJAX_NS = 'ajax', + _ajaxCur, + _removeAjaxCursor = function() { + if(_ajaxCur) { + _body.removeClass(_ajaxCur); + } + }; + +$.magnificPopup.registerModule(AJAX_NS, { + + options: { + settings: null, + cursor: 'mfp-ajax-cur', + tError: 'The content could not be loaded.' + }, + + proto: { + initAjax: function() { + mfp.types.push(AJAX_NS); + _ajaxCur = mfp.st.ajax.cursor; + + _mfpOn(CLOSE_EVENT+'.'+AJAX_NS, function() { + _removeAjaxCursor(); + if(mfp.req) { + mfp.req.abort(); + } + }); + }, + + getAjax: function(item) { + + if(_ajaxCur) + _body.addClass(_ajaxCur); + + mfp.updateStatus('loading'); + + var opts = $.extend({ + url: item.src, + success: function(data, textStatus, jqXHR) { + + _mfpTrigger('ParseAjax', jqXHR); + + mfp.appendContent( $(jqXHR.responseText), AJAX_NS ); + + item.finished = true; + + _removeAjaxCursor(); + + _setFocus(); + + setTimeout(function() { + mfp.wrap.addClass(READY_CLASS); + }, 16); + + mfp.updateStatus('ready'); + + }, + error: function() { + _removeAjaxCursor(); + item.finished = item.loadError = true; + mfp.updateStatus('error', mfp.st.ajax.tError.replace('%url%', item.src)); + } + }, mfp.st.ajax.settings); + + mfp.req = $.ajax(opts); + + return ''; + } + } +}); + + + + + + + +/*>>ajax*/ + +/*>>image*/ +var _imgInterval, + _getTitle = function(item) { + if(item.data && item.data.title !== undefined) + return item.data.title; + + var src = mfp.st.image.titleSrc; + + if(src) { + if($.isFunction(src)) { + return src.call(mfp, item); + } else if(item.el) { + return item.el.attr(src) || ''; + } + } + return ''; + }; + +$.magnificPopup.registerModule('image', { + + options: { + markup: '
'+ + '
'+ + '
'+ + '
'+ + '
'+ + '
'+ + '
'+ + '
', + cursor: 'mfp-zoom-out-cur', + titleSrc: 'title', + verticalFit: true, + tError: 'The image could not be loaded.' + }, + + proto: { + initImage: function() { + var imgSt = mfp.st.image, + ns = '.image'; + + mfp.types.push('image'); + + _mfpOn(OPEN_EVENT+ns, function() { + if(mfp.currItem.type === 'image' && imgSt.cursor) { + _body.addClass(imgSt.cursor); + } + }); + + _mfpOn(CLOSE_EVENT+ns, function() { + if(imgSt.cursor) { + _body.removeClass(imgSt.cursor); + } + _window.off('resize' + EVENT_NS); + }); + + _mfpOn('Resize'+ns, mfp.resizeImage); + if(mfp.isLowIE) { + _mfpOn('AfterChange', mfp.resizeImage); + } + }, + resizeImage: function() { + var item = mfp.currItem; + if(!item.img) return; + + if(mfp.st.image.verticalFit) { + var decr = 0; + // fix box-sizing in ie7/8 + if(mfp.isLowIE) { + decr = parseInt(item.img.css('padding-top'), 10) + parseInt(item.img.css('padding-bottom'),10); + } + item.img.css('max-height', mfp.wH-decr); + } + }, + _onImageHasSize: function(item) { + if(item.img) { + + item.hasSize = true; + + if(_imgInterval) { + clearInterval(_imgInterval); + } + + item.isCheckingImgSize = false; + + _mfpTrigger('ImageHasSize', item); + + if(item.imgHidden) { + if(mfp.content) + mfp.content.removeClass('mfp-loading'); + + item.imgHidden = false; + } + + } + }, + + /** + * Function that loops until the image has size to display elements that rely on it asap + */ + findImageSize: function(item) { + + var counter = 0, + img = item.img[0], + mfpSetInterval = function(delay) { + + if(_imgInterval) { + clearInterval(_imgInterval); + } + // decelerating interval that checks for size of an image + _imgInterval = setInterval(function() { + if(img.naturalWidth > 0) { + mfp._onImageHasSize(item); + return; + } + + if(counter > 200) { + clearInterval(_imgInterval); + } + + counter++; + if(counter === 3) { + mfpSetInterval(10); + } else if(counter === 40) { + mfpSetInterval(50); + } else if(counter === 100) { + mfpSetInterval(500); + } + }, delay); + }; + + mfpSetInterval(1); + }, + + getImage: function(item, template) { + + var guard = 0, + + // image load complete handler + onLoadComplete = function() { + if(item) { + if (item.img[0].complete) { + item.img.off('.mfploader'); + + if(item === mfp.currItem){ + mfp._onImageHasSize(item); + + mfp.updateStatus('ready'); + } + + item.hasSize = true; + item.loaded = true; + + } + else { + // if image complete check fails 200 times (20 sec), we assume that there was an error. + guard++; + if(guard < 200) { + setTimeout(onLoadComplete,100); + } else { + onLoadError(); + } + } + } + }, + + // image error handler + onLoadError = function() { + if(item) { + item.img.off('.mfploader'); + if(item === mfp.currItem){ + mfp._onImageHasSize(item); + mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) ); + } + + item.hasSize = true; + item.loaded = true; + item.loadError = true; + } + }, + imgSt = mfp.st.image; + + + var el = template.find('.mfp-img'); + if(el.length) { + var img = new Image(); + img.className = 'mfp-img'; + item.img = $(img).on('load.mfploader', onLoadComplete).on('error.mfploader', onLoadError); + img.src = item.src; + + // without clone() "error" event is not firing when IMG is replaced by new IMG + // TODO: find a way to avoid such cloning + if(el.is('img')) { + item.img = item.img.clone(); + } + } + + mfp._parseMarkup(template, { + title: _getTitle(item), + img_replaceWith: item.img + }, item); + + mfp.resizeImage(); + + if(item.hasSize) { + if(_imgInterval) clearInterval(_imgInterval); + + if(item.loadError) { + template.addClass('mfp-loading'); + mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) ); + } else { + template.removeClass('mfp-loading'); + mfp.updateStatus('ready'); + } + return template; + } + + mfp.updateStatus('loading'); + item.loading = true; + + if(!item.hasSize) { + item.imgHidden = true; + template.addClass('mfp-loading'); + mfp.findImageSize(item); + } + + return template; + } + } +}); + + + +/*>>image*/ + +/*>>iframe*/ + +var IFRAME_NS = 'iframe', + _emptyPage = '//about:blank', + + _fixIframeBugs = function(isShowing) { + if(mfp.currTemplate[IFRAME_NS]) { + var el = mfp.currTemplate[IFRAME_NS].find('iframe'); + if(el.length) { + // reset src after the popup is closed to avoid "video keeps playing after popup is closed" bug + if(!isShowing) { + el[0].src = _emptyPage; + } + + // IE8 black screen bug fix + if(mfp.isIE8) { + el.css('display', isShowing ? 'block' : 'none'); + } + } + } + }; + +$.magnificPopup.registerModule(IFRAME_NS, { + + options: { + markup: '
'+ + '
'+ + ''+ + '
', + + srcAction: 'iframe_src', + + // we don't care and support only one default type of URL by default + patterns: { + youtube: { + index: 'youtube.com', + id: 'v=', + src: '//www.youtube.com/embed/%id%?autoplay=1' + }, + vimeo: { + index: 'vimeo.com/', + id: '/', + src: '//player.vimeo.com/video/%id%?autoplay=1' + }, + gmaps: { + index: '//maps.google.', + src: '%id%&output=embed' + } + } + }, + + proto: { + initIframe: function() { + mfp.types.push(IFRAME_NS); + + _mfpOn('BeforeChange', function(e, prevType, newType) { + if(prevType !== newType) { + if(prevType === IFRAME_NS) { + _fixIframeBugs(); // iframe if removed + } else if(newType === IFRAME_NS) { + _fixIframeBugs(true); // iframe is showing + } + }// else { + // iframe source is switched, don't do anything + //} + }); + + _mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, _fixIframeBugs); + }, + + getIframe: function(item, template) { + var embedSrc = item.src; + var iframeSt = mfp.st.iframe; + + $.each(iframeSt.patterns, function() { + if(embedSrc.indexOf( this.index ) > -1) { + if(this.id) { + if(typeof this.id === 'string') { + embedSrc = embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length, embedSrc.length); + } else { + embedSrc = this.id.call( this, embedSrc ); + } + } + embedSrc = this.src.replace('%id%', embedSrc ); + return false; // break; + } + }); + + var dataObj = {}; + if(iframeSt.srcAction) { + dataObj[iframeSt.srcAction] = embedSrc; + } + mfp._parseMarkup(template, dataObj, item); + + mfp.updateStatus('ready'); + + return template; + } + } +}); + + + +/*>>iframe*/ + +/*>>gallery*/ +/** + * Get looped index depending on number of slides + */ +var _getLoopedId = function(index) { + var numSlides = mfp.items.length; + if(index > numSlides - 1) { + return index - numSlides; + } else if(index < 0) { + return numSlides + index; + } + return index; + }, + _replaceCurrTotal = function(text, curr, total) { + return text.replace('%curr%', curr + 1).replace('%total%', total); + }; + +$.magnificPopup.registerModule('gallery', { + + options: { + enabled: false, + arrowMarkup: '', + preload: [0,2], + navigateByImgClick: true, + arrows: true, + + tPrev: 'Previous (Left arrow key)', + tNext: 'Next (Right arrow key)', + tCounter: '%curr% of %total%' + }, + + proto: { + initGallery: function() { + + var gSt = mfp.st.gallery, + ns = '.mfp-gallery', + supportsFastClick = Boolean($.fn.mfpFastClick); + + mfp.direction = true; // true - next, false - prev + + if(!gSt || !gSt.enabled ) return false; + + _wrapClasses += ' mfp-gallery'; + + _mfpOn(OPEN_EVENT+ns, function() { + + if(gSt.navigateByImgClick) { + mfp.wrap.on('click'+ns, '.mfp-img', function() { + mfp.next(); + return false; + }); + } + + _document.on('keydown'+ns, function(e) { + if (e.keyCode === 37) { + mfp.prev(); + } else if (e.keyCode === 39) { + mfp.next(); + } + }); + }); + + _mfpOn('UpdateStatus'+ns, function(e, data) { + if(data.text) { + data.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length); + } + }); + + _mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) { + var l = mfp.items.length; + values.counter = l ? _replaceCurrTotal(gSt.tCounter, item.index, l) : ''; + }); + + _mfpOn('BuildControls' + ns, function() { + if(gSt.arrows && !mfp.arrowLeft) { + var markup = gSt.arrowMarkup, + arrowLeft = mfp.arrowLeft = $( markup.replace('%title%', gSt.tPrev).replace('%dir%', 'left') ).addClass(PREVENT_CLOSE_CLASS), + arrowRight = mfp.arrowRight = $( markup.replace('%title%', gSt.tNext).replace('%dir%', 'right') ).addClass(PREVENT_CLOSE_CLASS); + + var eName = supportsFastClick ? 'mfpFastClick' : 'click'; + arrowLeft[eName](function() { + mfp.prev(); + }); + arrowRight[eName](function() { + mfp.next(); + }); + + // Polyfill for :before and :after (adds elements with classes mfp-a and mfp-b) + if(mfp.isIE7) { + _getEl('b', arrowLeft[0], false, true); + _getEl('a', arrowLeft[0], false, true); + _getEl('b', arrowRight[0], false, true); + _getEl('a', arrowRight[0], false, true); + } + + mfp.container.append(arrowLeft.add(arrowRight)); + } + }); + + _mfpOn(CHANGE_EVENT+ns, function() { + if(mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout); + + mfp._preloadTimeout = setTimeout(function() { + mfp.preloadNearbyImages(); + mfp._preloadTimeout = null; + }, 16); + }); + + + _mfpOn(CLOSE_EVENT+ns, function() { + _document.off(ns); + mfp.wrap.off('click'+ns); + + if(supportsFastClick) { + mfp.arrowLeft.add(mfp.arrowRight).destroyMfpFastClick(); + } + mfp.arrowRight = mfp.arrowLeft = null; + }); + + }, + next: function() { + mfp.direction = true; + mfp.index = _getLoopedId(mfp.index + 1); + mfp.updateItemHTML(); + }, + prev: function() { + mfp.direction = false; + mfp.index = _getLoopedId(mfp.index - 1); + mfp.updateItemHTML(); + }, + goTo: function(newIndex) { + mfp.direction = (newIndex >= mfp.index); + mfp.index = newIndex; + mfp.updateItemHTML(); + }, + preloadNearbyImages: function() { + var p = mfp.st.gallery.preload, + preloadBefore = Math.min(p[0], mfp.items.length), + preloadAfter = Math.min(p[1], mfp.items.length), + i; + + for(i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore); i++) { + mfp._preloadItem(mfp.index+i); + } + for(i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter); i++) { + mfp._preloadItem(mfp.index-i); + } + }, + _preloadItem: function(index) { + index = _getLoopedId(index); + + if(mfp.items[index].preloaded) { + return; + } + + var item = mfp.items[index]; + if(!item.parsed) { + item = mfp.parseEl( index ); + } + + _mfpTrigger('LazyLoad', item); + + if(item.type === 'image') { + item.img = $('').on('load.mfploader', function() { + item.hasSize = true; + }).on('error.mfploader', function() { + item.hasSize = true; + item.loadError = true; + }).attr('src', item.src); + } + + + item.preloaded = true; + } + } +}); + +/* +Touch Support that might be implemented some day + +addSwipeGesture: function() { + var startX, + moved, + multipleTouches; + + return; + + var namespace = '.mfp', + addEventNames = function(pref, down, move, up, cancel) { + mfp._tStart = pref + down + namespace; + mfp._tMove = pref + move + namespace; + mfp._tEnd = pref + up + namespace; + mfp._tCancel = pref + cancel + namespace; + }; + + if(window.navigator.msPointerEnabled) { + addEventNames('MSPointer', 'Down', 'Move', 'Up', 'Cancel'); + } else if('ontouchstart' in window) { + addEventNames('touch', 'start', 'move', 'end', 'cancel'); + } else { + return; + } + _window.on(mfp._tStart, function(e) { + var oE = e.originalEvent; + multipleTouches = moved = false; + startX = oE.pageX || oE.changedTouches[0].pageX; + }).on(mfp._tMove, function(e) { + if(e.originalEvent.touches.length > 1) { + multipleTouches = e.originalEvent.touches.length; + } else { + //e.preventDefault(); + moved = true; + } + }).on(mfp._tEnd + ' ' + mfp._tCancel, function(e) { + if(moved && !multipleTouches) { + var oE = e.originalEvent, + diff = startX - (oE.pageX || oE.changedTouches[0].pageX); + + if(diff > 20) { + mfp.next(); + } else if(diff < -20) { + mfp.prev(); + } + } + }); +}, +*/ + + +/*>>gallery*/ + +/*>>retina*/ + +var RETINA_NS = 'retina'; + +$.magnificPopup.registerModule(RETINA_NS, { + options: { + replaceSrc: function(item) { + return item.src.replace(/\.\w+$/, function(m) { return '@2x' + m; }); + }, + ratio: 1 // Function or number. Set to 1 to disable. + }, + proto: { + initRetina: function() { + if(window.devicePixelRatio > 1) { + + var st = mfp.st.retina, + ratio = st.ratio; + + ratio = !isNaN(ratio) ? ratio : ratio(); + + if(ratio > 1) { + _mfpOn('ImageHasSize' + '.' + RETINA_NS, function(e, item) { + item.img.css({ + 'max-width': item.img[0].naturalWidth / ratio, + 'width': '100%' + }); + }); + _mfpOn('ElementParse' + '.' + RETINA_NS, function(e, item) { + item.src = st.replaceSrc(item, ratio); + }); + } + } + + } + } +}); + +/*>>retina*/ + +/*>>fastclick*/ +/** + * FastClick event implementation. (removes 300ms delay on touch devices) + * Based on https://developers.google.com/mobile/articles/fast_buttons + * + * You may use it outside the Magnific Popup by calling just: + * + * $('.your-el').mfpFastClick(function() { + * console.log('Clicked!'); + * }); + * + * To unbind: + * $('.your-el').destroyMfpFastClick(); + * + * + * Note that it's a very basic and simple implementation, it blocks ghost click on the same element where it was bound. + * If you need something more advanced, use plugin by FT Labs https://github.com/ftlabs/fastclick + * + */ + +(function() { + var ghostClickDelay = 1000, + supportsTouch = 'ontouchstart' in window, + unbindTouchMove = function() { + _window.off('touchmove'+ns+' touchend'+ns); + }, + eName = 'mfpFastClick', + ns = '.'+eName; + + + // As Zepto.js doesn't have an easy way to add custom events (like jQuery), so we implement it in this way + $.fn.mfpFastClick = function(callback) { + + return $(this).each(function() { + + var elem = $(this), + lock; + + if( supportsTouch ) { + + var timeout, + startX, + startY, + pointerMoved, + point, + numPointers; + + elem.on('touchstart' + ns, function(e) { + pointerMoved = false; + numPointers = 1; + + point = e.originalEvent ? e.originalEvent.touches[0] : e.touches[0]; + startX = point.clientX; + startY = point.clientY; + + _window.on('touchmove'+ns, function(e) { + point = e.originalEvent ? e.originalEvent.touches : e.touches; + numPointers = point.length; + point = point[0]; + if (Math.abs(point.clientX - startX) > 10 || + Math.abs(point.clientY - startY) > 10) { + pointerMoved = true; + unbindTouchMove(); + } + }).on('touchend'+ns, function(e) { + unbindTouchMove(); + if(pointerMoved || numPointers > 1) { + return; + } + lock = true; + e.preventDefault(); + clearTimeout(timeout); + timeout = setTimeout(function() { + lock = false; + }, ghostClickDelay); + callback(); + }); + }); + + } + + elem.on('click' + ns, function() { + if(!lock) { + callback(); + } + }); + }); + }; + + $.fn.destroyMfpFastClick = function() { + $(this).off('touchstart' + ns + ' click' + ns); + if(supportsTouch) _window.off('touchmove'+ns+' touchend'+ns); + }; +})(); + +/*>>fastclick*/ +})(window.jQuery || window.Zepto); + +/*! Plugin options and other jQuery stuff */ + +// FitVids options +$(function() { + $("article").fitVids(); +}); + +// Table of Contents toggle +$(function() { + $(".toc h3").click(function () { + $("#drawer").toggleClass("hidden"); + }); +}); + +// Add lightbox class to all image links +$("a[href$='.jpg'],a[href$='.png'],a[href$='.gif']").addClass("image-popup"); + +// Magnific-Popup options +$(document).ready(function() { + $('.image-popup').magnificPopup({ + type: 'image', + tLoading: 'Loading image #%curr%...', + gallery: { + enabled: true, + navigateByImgClick: true, + preload: [0,1] // Will preload 0 - before current, and 1 after the current image + }, + image: { + tError: 'Image #%curr% could not be loaded.', + }, + removalDelay: 300, // Delay in milliseconds before popup is removed + // Class that is added to body when popup is open. + // make it unique to apply your CSS animations just to this exact popup + mainClass: 'mfp-fade' + }); +}); \ No newline at end of file diff --git a/assets/js/main.min.js b/assets/js/main.min.js new file mode 100644 index 00000000..b198a842 --- /dev/null +++ b/assets/js/main.min.js @@ -0,0 +1 @@ +(function(e){"use strict";e.fn.fitVids=function(t){var n={customSelector:null};var r=document.createElement("div"),i=document.getElementsByTagName("base")[0]||document.getElementsByTagName("script")[0];r.className="fit-vids-style";r.innerHTML="­";i.parentNode.insertBefore(r,i);if(t){e.extend(n,t)}return this.each(function(){var t=["iframe[src*='player.vimeo.com']","iframe[src*='www.youtube.com']","iframe[src*='www.youtube-nocookie.com']","iframe[src*='www.kickstarter.com']","object","embed"];if(n.customSelector){t.push(n.customSelector)}var r=e(this).find(t.join(","));r.each(function(){var t=e(this);if(this.tagName.toLowerCase()==="embed"&&t.parent("object").length||t.parent(".fluid-width-video-wrapper").length){return}var n=this.tagName.toLowerCase()==="object"||t.attr("height")&&!isNaN(parseInt(t.attr("height"),10))?parseInt(t.attr("height"),10):t.height(),r=!isNaN(parseInt(t.attr("width"),10))?parseInt(t.attr("width"),10):t.width(),i=n/r;if(!t.attr("id")){var s="fitvid"+Math.floor(Math.random()*999999);t.attr("id",s)}t.wrap('
').parent(".fluid-width-video-wrapper").css("padding-top",i*100+"%");t.removeAttr("height").removeAttr("width")})})}})(jQuery);(function(e){var t="Close",n="BeforeAppend",r="MarkupParse",i="Open",s="Change",o="mfp",u="."+o,a="mfp-ready",f="mfp-removing",l="mfp-prevent-close";var c,h=function(){},p=!!window.jQuery,d,v=e(window),m,g,y,b,w;var E=function(e,t){c.ev.on(o+e+u,t)},S=function(t,n,r,i){var s=document.createElement("div");s.className="mfp-"+t;if(r){s.innerHTML=r}if(!i){s=e(s);if(n){s.appendTo(n)}}else if(n){n.appendChild(s)}return s},x=function(t,n){c.ev.triggerHandler(o+t,n);if(c.st.callbacks){t=t.charAt(0).toLowerCase()+t.slice(1);if(c.st.callbacks[t]){c.st.callbacks[t].apply(c,e.isArray(n)?n:[n])}}},T=function(){(c.st.focus?c.content.find(c.st.focus).eq(0):c.wrap).focus()},N=function(t){if(t!==w||!c.currTemplate.closeBtn){c.currTemplate.closeBtn=e(c.st.closeMarkup.replace("%title%",c.st.tClose));w=t}return c.currTemplate.closeBtn},C=function(){if(!e.magnificPopup.instance){c=new h;c.init();e.magnificPopup.instance=c}},k=function(t){if(e(t).hasClass(l)){return}var n=c.st.closeOnContentClick;var r=c.st.closeOnBgClick;if(n&&r){return true}else{if(!c.content||e(t).hasClass("mfp-close")||c.preloader&&t===c.preloader[0]){return true}if(t!==c.content[0]&&!e.contains(c.content[0],t)){if(r){return true}}else if(n){return true}}return false};h.prototype={constructor:h,init:function(){var t=navigator.appVersion;c.isIE7=t.indexOf("MSIE 7.")!==-1;c.isIE8=t.indexOf("MSIE 8.")!==-1,c.isLowIE=c.isIE7||c.isIE8;c.isAndroid=/android/gi.test(t);c.isIOS=/iphone|ipad|ipod/gi.test(t);c.probablyMobile=c.isAndroid||c.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent);m=e(document.body);g=e(document);c.popupsCache={}},open:function(t){c.items=t.items.length?t.items:[t.items];if(c.isOpen){c.updateItemHTML();return}var n;c.types=[];b="";c.ev=t.el||g;if(t.isObj){c.index=t.index||0}else{c.index=0;var s=t.items,o;for(n=0;n(e||v.height())){return true}return false},_parseMarkup:function(t,n,i){var s;if(i.data){n=e.extend(i.data,n)}x(r,[t,n,i]);e.each(n,function(e,n){if(n===undefined||n===false){return true}s=e.split("_");if(s.length>1){var r=t.find(u+"-"+s[0]);if(r.length>0){var i=s[1];if(i==="replaceWith"){if(r[0]!==n[0]){r.replaceWith(n)}}else if(i==="img"){if(r.is("img")){r.attr("src",n)}else{r.replaceWith('')}}else{r.attr(s[1],n)}}}else{t.find(u+"-"+e).html(n)}})},_getScrollbarSize:function(){if(c.scrollbarSize===undefined){var e=document.createElement("div");e.id="mfp-sbm";e.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;";document.body.appendChild(e);c.scrollbarSize=e.offsetWidth-e.clientWidth;document.body.removeChild(e)}return c.scrollbarSize}};e.magnificPopup={instance:null,proto:h.prototype,modules:[],open:function(e,t){C();if(!e)e={};e.isObj=true;e.index=t||0;return this.instance.open(e)},close:function(){return e.magnificPopup.instance.close()},registerModule:function(t,n){if(n.options){e.magnificPopup.defaults[t]=n.options}e.extend(this.proto,n.proto);this.modules.push(t)},defaults:{disableOn:0,key:null,midClick:false,mainClass:"",preloader:true,focus:"",closeOnContentClick:false,closeOnBgClick:true,closeBtnInside:true,alignTop:false,removalDelay:0,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'',tClose:"Close (Esc)",tLoading:"Loading..."}};e.fn.magnificPopup=function(t){C();var n=e(this);if(typeof t==="string"){if(t==="open"){var r,i=p?n.data("magnificPopup"):n[0].magnificPopup,s=parseInt(arguments[1],10)||0;if(i.items){r=i.items[s]}else{r=n;if(i.delegate){r=r.find(i.delegate)}r=r.eq(s)}c._openClick({mfpEl:r},n,i)}else{if(c.isOpen)c[t].apply(c,Array.prototype.slice.call(arguments,1))}}else{if(p){n.data("magnificPopup",t)}else{n[0].magnificPopup=t}c.addGroup(n,t)}return n};var L="inline",A,O,M,_=function(){if(M){O.after(M.addClass(A)).detach();M=null}};e.magnificPopup.registerModule(L,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){c.types.push(L);E(t+"."+L,function(){_()})},getInline:function(t,n){_();if(t.src){var r=c.st.inline,i=e(t.src);if(i.length){if(i[0].parentNode!==null){if(!O){A=r.hiddenClass;O=S(A);A="mfp-"+A}M=i.after(O).detach().removeClass(A)}c.updateStatus("ready")}else{c.updateStatus("error",r.tNotFound);i=e("
")}t.inlineElement=i;return i}c.updateStatus("ready");c._parseMarkup(n,{},t);return n}}});var D="ajax",P,H=function(){if(P){m.removeClass(P)}};e.magnificPopup.registerModule(D,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'The content could not be loaded.'},proto:{initAjax:function(){c.types.push(D);P=c.st.ajax.cursor;E(t+"."+D,function(){H();if(c.req){c.req.abort()}})},getAjax:function(t){if(P)m.addClass(P);c.updateStatus("loading");var n=e.extend({url:t.src,success:function(n,r,i){x("ParseAjax",i);c.appendContent(e(i.responseText),D);t.finished=true;H();T();setTimeout(function(){c.wrap.addClass(a)},16);c.updateStatus("ready")},error:function(){H();t.finished=t.loadError=true;c.updateStatus("error",c.st.ajax.tError.replace("%url%",t.src))}},c.st.ajax.settings);c.req=e.ajax(n);return""}}});var B,j=function(t){if(t.data&&t.data.title!==undefined)return t.data.title;var n=c.st.image.titleSrc;if(n){if(e.isFunction(n)){return n.call(c,t)}else if(t.el){return t.el.attr(n)||""}}return""};e.magnificPopup.registerModule("image",{options:{markup:'
'+'
'+'
'+'
'+'
'+'
'+"
"+"
",cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:true,tError:'The image could not be loaded.'},proto:{initImage:function(){var e=c.st.image,n=".image";c.types.push("image");E(i+n,function(){if(c.currItem.type==="image"&&e.cursor){m.addClass(e.cursor)}});E(t+n,function(){if(e.cursor){m.removeClass(e.cursor)}v.off("resize"+u)});E("Resize"+n,c.resizeImage);if(c.isLowIE){E("AfterChange",c.resizeImage)}},resizeImage:function(){var e=c.currItem;if(!e.img)return;if(c.st.image.verticalFit){var t=0;if(c.isLowIE){t=parseInt(e.img.css("padding-top"),10)+parseInt(e.img.css("padding-bottom"),10)}e.img.css("max-height",c.wH-t)}},_onImageHasSize:function(e){if(e.img){e.hasSize=true;if(B){clearInterval(B)}e.isCheckingImgSize=false;x("ImageHasSize",e);if(e.imgHidden){if(c.content)c.content.removeClass("mfp-loading");e.imgHidden=false}}},findImageSize:function(e){var t=0,n=e.img[0],r=function(i){if(B){clearInterval(B)}B=setInterval(function(){if(n.naturalWidth>0){c._onImageHasSize(e);return}if(t>200){clearInterval(B)}t++;if(t===3){r(10)}else if(t===40){r(50)}else if(t===100){r(500)}},i)};r(1)},getImage:function(t,n){var r=0,i=function(){if(t){if(t.img[0].complete){t.img.off(".mfploader");if(t===c.currItem){c._onImageHasSize(t);c.updateStatus("ready")}t.hasSize=true;t.loaded=true}else{r++;if(r<200){setTimeout(i,100)}else{s()}}}},s=function(){if(t){t.img.off(".mfploader");if(t===c.currItem){c._onImageHasSize(t);c.updateStatus("error",o.tError.replace("%url%",t.src))}t.hasSize=true;t.loaded=true;t.loadError=true}},o=c.st.image;var u=n.find(".mfp-img");if(u.length){var a=new Image;a.className="mfp-img";t.img=e(a).on("load.mfploader",i).on("error.mfploader",s);a.src=t.src;if(u.is("img")){t.img=t.img.clone()}}c._parseMarkup(n,{title:j(t),img_replaceWith:t.img},t);c.resizeImage();if(t.hasSize){if(B)clearInterval(B);if(t.loadError){n.addClass("mfp-loading");c.updateStatus("error",o.tError.replace("%url%",t.src))}else{n.removeClass("mfp-loading");c.updateStatus("ready")}return n}c.updateStatus("loading");t.loading=true;if(!t.hasSize){t.imgHidden=true;n.addClass("mfp-loading");c.findImageSize(t)}return n}}});var F="iframe",I="//about:blank",q=function(e){if(c.currTemplate[F]){var t=c.currTemplate[F].find("iframe");if(t.length){if(!e){t[0].src=I}if(c.isIE8){t.css("display",e?"block":"none")}}}};e.magnificPopup.registerModule(F,{options:{markup:'
'+'
'+''+"
",srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){c.types.push(F);E("BeforeChange",function(e,t,n){if(t!==n){if(t===F){q()}else if(n===F){q(true)}}});E(t+"."+F,q)},getIframe:function(t,n){var r=t.src;var i=c.st.iframe;e.each(i.patterns,function(){if(r.indexOf(this.index)>-1){if(this.id){if(typeof this.id==="string"){r=r.substr(r.lastIndexOf(this.id)+this.id.length,r.length)}else{r=this.id.call(this,r)}}r=this.src.replace("%id%",r);return false}});var s={};if(i.srcAction){s[i.srcAction]=r}c._parseMarkup(n,s,t);c.updateStatus("ready");return n}}});var R=function(e){var t=c.items.length;if(e>t-1){return e-t}else if(e<0){return t+e}return e},U=function(e,t,n){return e.replace("%curr%",t+1).replace("%total%",n)};e.magnificPopup.registerModule("gallery",{options:{enabled:false,arrowMarkup:'',preload:[0,2],navigateByImgClick:true,arrows:true,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var n=c.st.gallery,o=".mfp-gallery",u=Boolean(e.fn.mfpFastClick);c.direction=true;if(!n||!n.enabled)return false;b+=" mfp-gallery";E(i+o,function(){if(n.navigateByImgClick){c.wrap.on("click"+o,".mfp-img",function(){c.next();return false})}g.on("keydown"+o,function(e){if(e.keyCode===37){c.prev()}else if(e.keyCode===39){c.next()}})});E("UpdateStatus"+o,function(e,t){if(t.text){t.text=U(t.text,c.currItem.index,c.items.length)}});E(r+o,function(e,t,r,i){var s=c.items.length;r.counter=s?U(n.tCounter,i.index,s):""});E("BuildControls"+o,function(){if(n.arrows&&!c.arrowLeft){var t=n.arrowMarkup,r=c.arrowLeft=e(t.replace("%title%",n.tPrev).replace("%dir%","left")).addClass(l),i=c.arrowRight=e(t.replace("%title%",n.tNext).replace("%dir%","right")).addClass(l);var s=u?"mfpFastClick":"click";r[s](function(){c.prev()});i[s](function(){c.next()});if(c.isIE7){S("b",r[0],false,true);S("a",r[0],false,true);S("b",i[0],false,true);S("a",i[0],false,true)}c.container.append(r.add(i))}});E(s+o,function(){if(c._preloadTimeout)clearTimeout(c._preloadTimeout);c._preloadTimeout=setTimeout(function(){c.preloadNearbyImages();c._preloadTimeout=null},16)});E(t+o,function(){g.off(o);c.wrap.off("click"+o);if(u){c.arrowLeft.add(c.arrowRight).destroyMfpFastClick()}c.arrowRight=c.arrowLeft=null})},next:function(){c.direction=true;c.index=R(c.index+1);c.updateItemHTML()},prev:function(){c.direction=false;c.index=R(c.index-1);c.updateItemHTML()},goTo:function(e){c.direction=e>=c.index;c.index=e;c.updateItemHTML()},preloadNearbyImages:function(){var e=c.st.gallery.preload,t=Math.min(e[0],c.items.length),n=Math.min(e[1],c.items.length),r;for(r=1;r<=(c.direction?n:t);r++){c._preloadItem(c.index+r)}for(r=1;r<=(c.direction?t:n);r++){c._preloadItem(c.index-r)}},_preloadItem:function(t){t=R(t);if(c.items[t].preloaded){return}var n=c.items[t];if(!n.parsed){n=c.parseEl(t)}x("LazyLoad",n);if(n.type==="image"){n.img=e('').on("load.mfploader",function(){n.hasSize=true}).on("error.mfploader",function(){n.hasSize=true;n.loadError=true}).attr("src",n.src)}n.preloaded=true}}});var z="retina";e.magnificPopup.registerModule(z,{options:{replaceSrc:function(e){return e.src.replace(/\.\w+$/,function(e){return"@2x"+e})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var e=c.st.retina,t=e.ratio;t=!isNaN(t)?t:t();if(t>1){E("ImageHasSize"+"."+z,function(e,n){n.img.css({"max-width":n.img[0].naturalWidth/t,width:"100%"})});E("ElementParse"+"."+z,function(n,r){r.src=e.replaceSrc(r,t)})}}}}});(function(){var t=1e3,n="ontouchstart"in window,r=function(){v.off("touchmove"+s+" touchend"+s)},i="mfpFastClick",s="."+i;e.fn.mfpFastClick=function(i){return e(this).each(function(){var o=e(this),u;if(n){var a,f,l,c,h,p;o.on("touchstart"+s,function(e){c=false;p=1;h=e.originalEvent?e.originalEvent.touches[0]:e.touches[0];f=h.clientX;l=h.clientY;v.on("touchmove"+s,function(e){h=e.originalEvent?e.originalEvent.touches:e.touches;p=h.length;h=h[0];if(Math.abs(h.clientX-f)>10||Math.abs(h.clientY-l)>10){c=true;r()}}).on("touchend"+s,function(e){r();if(c||p>1){return}u=true;e.preventDefault();clearTimeout(a);a=setTimeout(function(){u=false},t);i()})})}o.on("click"+s,function(){if(!u){i()}})})};e.fn.destroyMfpFastClick=function(){e(this).off("touchstart"+s+" click"+s);if(n)v.off("touchmove"+s+" touchend"+s)}})()})(window.jQuery||window.Zepto);$(function(){$("article").fitVids()});$(function(){$(".toc h3").click(function(){$("#drawer").toggleClass("hidden")})});$("a[href$='.jpg'],a[href$='.png'],a[href$='.gif']").addClass("image-popup");$(document).ready(function(){$(".image-popup").magnificPopup({type:"image",tLoading:"Loading image #%curr%...",gallery:{enabled:true,navigateByImgClick:true,preload:[0,1]},image:{tError:'Image #%curr% could not be loaded.'},removalDelay:300,mainClass:"mfp-fade"})}) \ No newline at end of file diff --git a/assets/js/vendor/jquery-1.9.1.min.js b/assets/js/vendor/jquery-1.9.1.min.js new file mode 100644 index 00000000..006e9531 --- /dev/null +++ b/assets/js/vendor/jquery-1.9.1.min.js @@ -0,0 +1,5 @@ +/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license +//@ sourceMappingURL=jquery.min.map +*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
a",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="
t
",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj; +return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="
",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&>(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X
","
"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l) +}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("'+ + '', + + srcAction: 'iframe_src', + + // we don't care and support only one default type of URL by default + patterns: { + youtube: { + index: 'youtube.com', + id: 'v=', + src: '//www.youtube.com/embed/%id%?autoplay=1' + }, + vimeo: { + index: 'vimeo.com/', + id: '/', + src: '//player.vimeo.com/video/%id%?autoplay=1' + }, + gmaps: { + index: '//maps.google.', + src: '%id%&output=embed' + } + } + }, + + proto: { + initIframe: function() { + mfp.types.push(IFRAME_NS); + + _mfpOn('BeforeChange', function(e, prevType, newType) { + if(prevType !== newType) { + if(prevType === IFRAME_NS) { + _fixIframeBugs(); // iframe if removed + } else if(newType === IFRAME_NS) { + _fixIframeBugs(true); // iframe is showing + } + }// else { + // iframe source is switched, don't do anything + //} + }); + + _mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, _fixIframeBugs); + }, + + getIframe: function(item, template) { + var embedSrc = item.src; + var iframeSt = mfp.st.iframe; + + $.each(iframeSt.patterns, function() { + if(embedSrc.indexOf( this.index ) > -1) { + if(this.id) { + if(typeof this.id === 'string') { + embedSrc = embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length, embedSrc.length); + } else { + embedSrc = this.id.call( this, embedSrc ); + } + } + embedSrc = this.src.replace('%id%', embedSrc ); + return false; // break; + } + }); + + var dataObj = {}; + if(iframeSt.srcAction) { + dataObj[iframeSt.srcAction] = embedSrc; + } + mfp._parseMarkup(template, dataObj, item); + + mfp.updateStatus('ready'); + + return template; + } + } +}); + + + +/*>>iframe*/ + +/*>>gallery*/ +/** + * Get looped index depending on number of slides + */ +var _getLoopedId = function(index) { + var numSlides = mfp.items.length; + if(index > numSlides - 1) { + return index - numSlides; + } else if(index < 0) { + return numSlides + index; + } + return index; + }, + _replaceCurrTotal = function(text, curr, total) { + return text.replace('%curr%', curr + 1).replace('%total%', total); + }; + +$.magnificPopup.registerModule('gallery', { + + options: { + enabled: false, + arrowMarkup: '', + preload: [0,2], + navigateByImgClick: true, + arrows: true, + + tPrev: 'Previous (Left arrow key)', + tNext: 'Next (Right arrow key)', + tCounter: '%curr% of %total%' + }, + + proto: { + initGallery: function() { + + var gSt = mfp.st.gallery, + ns = '.mfp-gallery', + supportsFastClick = Boolean($.fn.mfpFastClick); + + mfp.direction = true; // true - next, false - prev + + if(!gSt || !gSt.enabled ) return false; + + _wrapClasses += ' mfp-gallery'; + + _mfpOn(OPEN_EVENT+ns, function() { + + if(gSt.navigateByImgClick) { + mfp.wrap.on('click'+ns, '.mfp-img', function() { + mfp.next(); + return false; + }); + } + + _document.on('keydown'+ns, function(e) { + if (e.keyCode === 37) { + mfp.prev(); + } else if (e.keyCode === 39) { + mfp.next(); + } + }); + }); + + _mfpOn('UpdateStatus'+ns, function(e, data) { + if(data.text) { + data.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length); + } + }); + + _mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) { + var l = mfp.items.length; + values.counter = l ? _replaceCurrTotal(gSt.tCounter, item.index, l) : ''; + }); + + _mfpOn('BuildControls' + ns, function() { + if(gSt.arrows && !mfp.arrowLeft) { + var markup = gSt.arrowMarkup, + arrowLeft = mfp.arrowLeft = $( markup.replace('%title%', gSt.tPrev).replace('%dir%', 'left') ).addClass(PREVENT_CLOSE_CLASS), + arrowRight = mfp.arrowRight = $( markup.replace('%title%', gSt.tNext).replace('%dir%', 'right') ).addClass(PREVENT_CLOSE_CLASS); + + var eName = supportsFastClick ? 'mfpFastClick' : 'click'; + arrowLeft[eName](function() { + mfp.prev(); + }); + arrowRight[eName](function() { + mfp.next(); + }); + + // Polyfill for :before and :after (adds elements with classes mfp-a and mfp-b) + if(mfp.isIE7) { + _getEl('b', arrowLeft[0], false, true); + _getEl('a', arrowLeft[0], false, true); + _getEl('b', arrowRight[0], false, true); + _getEl('a', arrowRight[0], false, true); + } + + mfp.container.append(arrowLeft.add(arrowRight)); + } + }); + + _mfpOn(CHANGE_EVENT+ns, function() { + if(mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout); + + mfp._preloadTimeout = setTimeout(function() { + mfp.preloadNearbyImages(); + mfp._preloadTimeout = null; + }, 16); + }); + + + _mfpOn(CLOSE_EVENT+ns, function() { + _document.off(ns); + mfp.wrap.off('click'+ns); + + if(supportsFastClick) { + mfp.arrowLeft.add(mfp.arrowRight).destroyMfpFastClick(); + } + mfp.arrowRight = mfp.arrowLeft = null; + }); + + }, + next: function() { + mfp.direction = true; + mfp.index = _getLoopedId(mfp.index + 1); + mfp.updateItemHTML(); + }, + prev: function() { + mfp.direction = false; + mfp.index = _getLoopedId(mfp.index - 1); + mfp.updateItemHTML(); + }, + goTo: function(newIndex) { + mfp.direction = (newIndex >= mfp.index); + mfp.index = newIndex; + mfp.updateItemHTML(); + }, + preloadNearbyImages: function() { + var p = mfp.st.gallery.preload, + preloadBefore = Math.min(p[0], mfp.items.length), + preloadAfter = Math.min(p[1], mfp.items.length), + i; + + for(i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore); i++) { + mfp._preloadItem(mfp.index+i); + } + for(i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter); i++) { + mfp._preloadItem(mfp.index-i); + } + }, + _preloadItem: function(index) { + index = _getLoopedId(index); + + if(mfp.items[index].preloaded) { + return; + } + + var item = mfp.items[index]; + if(!item.parsed) { + item = mfp.parseEl( index ); + } + + _mfpTrigger('LazyLoad', item); + + if(item.type === 'image') { + item.img = $('').on('load.mfploader', function() { + item.hasSize = true; + }).on('error.mfploader', function() { + item.hasSize = true; + item.loadError = true; + }).attr('src', item.src); + } + + + item.preloaded = true; + } + } +}); + +/* +Touch Support that might be implemented some day + +addSwipeGesture: function() { + var startX, + moved, + multipleTouches; + + return; + + var namespace = '.mfp', + addEventNames = function(pref, down, move, up, cancel) { + mfp._tStart = pref + down + namespace; + mfp._tMove = pref + move + namespace; + mfp._tEnd = pref + up + namespace; + mfp._tCancel = pref + cancel + namespace; + }; + + if(window.navigator.msPointerEnabled) { + addEventNames('MSPointer', 'Down', 'Move', 'Up', 'Cancel'); + } else if('ontouchstart' in window) { + addEventNames('touch', 'start', 'move', 'end', 'cancel'); + } else { + return; + } + _window.on(mfp._tStart, function(e) { + var oE = e.originalEvent; + multipleTouches = moved = false; + startX = oE.pageX || oE.changedTouches[0].pageX; + }).on(mfp._tMove, function(e) { + if(e.originalEvent.touches.length > 1) { + multipleTouches = e.originalEvent.touches.length; + } else { + //e.preventDefault(); + moved = true; + } + }).on(mfp._tEnd + ' ' + mfp._tCancel, function(e) { + if(moved && !multipleTouches) { + var oE = e.originalEvent, + diff = startX - (oE.pageX || oE.changedTouches[0].pageX); + + if(diff > 20) { + mfp.next(); + } else if(diff < -20) { + mfp.prev(); + } + } + }); +}, +*/ + + +/*>>gallery*/ + +/*>>retina*/ + +var RETINA_NS = 'retina'; + +$.magnificPopup.registerModule(RETINA_NS, { + options: { + replaceSrc: function(item) { + return item.src.replace(/\.\w+$/, function(m) { return '@2x' + m; }); + }, + ratio: 1 // Function or number. Set to 1 to disable. + }, + proto: { + initRetina: function() { + if(window.devicePixelRatio > 1) { + + var st = mfp.st.retina, + ratio = st.ratio; + + ratio = !isNaN(ratio) ? ratio : ratio(); + + if(ratio > 1) { + _mfpOn('ImageHasSize' + '.' + RETINA_NS, function(e, item) { + item.img.css({ + 'max-width': item.img[0].naturalWidth / ratio, + 'width': '100%' + }); + }); + _mfpOn('ElementParse' + '.' + RETINA_NS, function(e, item) { + item.src = st.replaceSrc(item, ratio); + }); + } + } + + } + } +}); + +/*>>retina*/ + +/*>>fastclick*/ +/** + * FastClick event implementation. (removes 300ms delay on touch devices) + * Based on https://developers.google.com/mobile/articles/fast_buttons + * + * You may use it outside the Magnific Popup by calling just: + * + * $('.your-el').mfpFastClick(function() { + * console.log('Clicked!'); + * }); + * + * To unbind: + * $('.your-el').destroyMfpFastClick(); + * + * + * Note that it's a very basic and simple implementation, it blocks ghost click on the same element where it was bound. + * If you need something more advanced, use plugin by FT Labs https://github.com/ftlabs/fastclick + * + */ + +(function() { + var ghostClickDelay = 1000, + supportsTouch = 'ontouchstart' in window, + unbindTouchMove = function() { + _window.off('touchmove'+ns+' touchend'+ns); + }, + eName = 'mfpFastClick', + ns = '.'+eName; + + + // As Zepto.js doesn't have an easy way to add custom events (like jQuery), so we implement it in this way + $.fn.mfpFastClick = function(callback) { + + return $(this).each(function() { + + var elem = $(this), + lock; + + if( supportsTouch ) { + + var timeout, + startX, + startY, + pointerMoved, + point, + numPointers; + + elem.on('touchstart' + ns, function(e) { + pointerMoved = false; + numPointers = 1; + + point = e.originalEvent ? e.originalEvent.touches[0] : e.touches[0]; + startX = point.clientX; + startY = point.clientY; + + _window.on('touchmove'+ns, function(e) { + point = e.originalEvent ? e.originalEvent.touches : e.touches; + numPointers = point.length; + point = point[0]; + if (Math.abs(point.clientX - startX) > 10 || + Math.abs(point.clientY - startY) > 10) { + pointerMoved = true; + unbindTouchMove(); + } + }).on('touchend'+ns, function(e) { + unbindTouchMove(); + if(pointerMoved || numPointers > 1) { + return; + } + lock = true; + e.preventDefault(); + clearTimeout(timeout); + timeout = setTimeout(function() { + lock = false; + }, ghostClickDelay); + callback(); + }); + }); + + } + + elem.on('click' + ns, function() { + if(!lock) { + callback(); + } + }); + }); + }; + + $.fn.destroyMfpFastClick = function() { + $(this).off('touchstart' + ns + ' click' + ns); + if(supportsTouch) _window.off('touchmove'+ns+' touchend'+ns); + }; +})(); + +/*>>fastclick*/ +})(window.jQuery || window.Zepto); \ No newline at end of file diff --git a/assets/js/vendor/modernizr-2.6.2.custom.min.js b/assets/js/vendor/modernizr-2.6.2.custom.min.js new file mode 100644 index 00000000..4271b7a1 --- /dev/null +++ b/assets/js/vendor/modernizr-2.6.2.custom.min.js @@ -0,0 +1,4 @@ +/* Modernizr 2.6.2 (Custom Build) | MIT & BSD + * Build: http://modernizr.com/download/#-hsla-opacity-rgba-textshadow-svg-shiv-cssclasses-prefixes-load + */ +;window.Modernizr=function(a,b,c){function w(a){j.cssText=a}function x(a,b){return w(m.join(a+";")+(b||""))}function y(a,b){return typeof a===b}function z(a,b){return!!~(""+a).indexOf(b)}function A(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:y(f,"function")?f.bind(d||b):f}return!1}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n={svg:"http://www.w3.org/2000/svg"},o={},p={},q={},r=[],s=r.slice,t,u={}.hasOwnProperty,v;!y(u,"undefined")&&!y(u.call,"undefined")?v=function(a,b){return u.call(a,b)}:v=function(a,b){return b in a&&y(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=s.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(s.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(s.call(arguments)))};return e}),o.rgba=function(){return w("background-color:rgba(150,255,150,.5)"),z(j.backgroundColor,"rgba")},o.hsla=function(){return w("background-color:hsla(120,40%,100%,.5)"),z(j.backgroundColor,"rgba")||z(j.backgroundColor,"hsla")},o.textshadow=function(){return b.createElement("div").style.textShadow===""},o.opacity=function(){return x("opacity:.55"),/^0.55$/.test(j.opacity)},o.svg=function(){return!!b.createElementNS&&!!b.createElementNS(n.svg,"svg").createSVGRect};for(var B in o)v(o,B)&&(t=B.toLowerCase(),e[t]=o[B](),r.push((e[t]?"":"no-")+t));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)v(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},w(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=m,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+r.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f