├── source ├── _data │ ├── .keep │ ├── organization.yml │ ├── navigation.yml │ ├── acronyms.yml │ └── showcase.yml ├── _includes │ ├── showcase_return.html │ ├── showcase_js.html │ ├── sub-page_header.html │ ├── footer.html │ ├── sub-showcase_md.html │ ├── doctype.html │ ├── chromeframe.html │ ├── ga.html │ ├── nav.html │ └── head.html ├── img │ ├── ajax-loader.gif │ ├── bg-color-bar.png │ ├── showcase │ │ ├── iip.png │ │ ├── osd.jpg │ │ ├── uv.png │ │ ├── loris.jpg │ │ ├── satdb.png │ │ ├── fractals.jpg │ │ ├── leaflet.jpg │ │ ├── mirador.jpg │ │ ├── e-codices.png │ │ ├── georeferencer.jpg │ │ ├── wellcome-player.jpg │ │ ├── tify_IIIF_showcase.png │ │ ├── klokantechiiifviewer.png │ │ └── yale-ycba-iipmooviewer.png │ └── logo-iiif-34x30.png ├── js │ ├── showcase.js │ ├── main.js │ ├── leaflet-examples.js │ └── vendor │ │ ├── modernizr-2.6.2-respond-1.1.0.min.js │ │ ├── isotope.pkgd.min.js │ │ └── jquery-1.11.1.min.js ├── _layouts │ ├── sub-page.html │ └── default.html ├── showcase │ ├── e-codices.html │ ├── satdb.html │ ├── mirador-viewer.html │ ├── leaflet-iiif-viewer.html │ ├── loris-server.html │ ├── iipimage-viewer.html │ ├── tify.html │ ├── uv.html │ ├── ycba.html │ ├── georeferencer.html │ └── osd-viewer.html ├── index.html └── css │ ├── normalize.min.css │ ├── normalize.css │ └── main.scss ├── .gitignore ├── Gemfile ├── scripts ├── test.sh └── check_mixedcontent.sh ├── package.json ├── Gruntfile.js ├── README.md ├── _config.yml ├── .travis.yml ├── CONTRIBUTING.md └── Gemfile.lock /source/_data/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | node_modules/ 3 | .DS_Store 4 | .ruby-version 5 | -------------------------------------------------------------------------------- /source/_includes/showcase_return.html: -------------------------------------------------------------------------------- 1 |

2 | « Back to the Showcase 3 |

4 | -------------------------------------------------------------------------------- /source/img/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/ajax-loader.gif -------------------------------------------------------------------------------- /source/img/bg-color-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/bg-color-bar.png -------------------------------------------------------------------------------- /source/img/showcase/iip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/showcase/iip.png -------------------------------------------------------------------------------- /source/img/showcase/osd.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/showcase/osd.jpg -------------------------------------------------------------------------------- /source/img/showcase/uv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/showcase/uv.png -------------------------------------------------------------------------------- /source/img/showcase/loris.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/showcase/loris.jpg -------------------------------------------------------------------------------- /source/img/showcase/satdb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/showcase/satdb.png -------------------------------------------------------------------------------- /source/img/logo-iiif-34x30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/logo-iiif-34x30.png -------------------------------------------------------------------------------- /source/img/showcase/fractals.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/showcase/fractals.jpg -------------------------------------------------------------------------------- /source/img/showcase/leaflet.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/showcase/leaflet.jpg -------------------------------------------------------------------------------- /source/img/showcase/mirador.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/showcase/mirador.jpg -------------------------------------------------------------------------------- /source/img/showcase/e-codices.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/showcase/e-codices.png -------------------------------------------------------------------------------- /source/img/showcase/georeferencer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/showcase/georeferencer.jpg -------------------------------------------------------------------------------- /source/img/showcase/wellcome-player.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/showcase/wellcome-player.jpg -------------------------------------------------------------------------------- /source/img/showcase/tify_IIIF_showcase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/showcase/tify_IIIF_showcase.png -------------------------------------------------------------------------------- /source/img/showcase/klokantechiiifviewer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/showcase/klokantechiiifviewer.png -------------------------------------------------------------------------------- /source/img/showcase/yale-ycba-iipmooviewer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IIIF/showcase.iiif.io/master/source/img/showcase/yale-ycba-iipmooviewer.png -------------------------------------------------------------------------------- /source/js/showcase.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | var $container = $('.isotope-container'); 3 | 4 | $container.isotope({ 5 | itemSelector: '.isotope-item' 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /source/_includes/showcase_js.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem 'rake' 4 | gem 'jekyll', '> 3.7' 5 | gem 'kramdown', '> 1.16' 6 | gem 'rspec' 7 | gem 'faker' 8 | 9 | group :test do 10 | gem 'html-proofer' 11 | end 12 | -------------------------------------------------------------------------------- /scripts/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Run the tests 4 | # 5 | bundle exec jekyll build 6 | bundle exec htmlproofer --check-html ./_site --url-ignore '//universalviewer.io/vendor/uv/lib/embed.js' 7 | 8 | ./scripts/check_mixedcontent.sh 9 | -------------------------------------------------------------------------------- /source/_includes/sub-page_header.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

{% if page.title_override %}{{ page.title_override }}{% else %}{{ page.title }}{% endif %}

4 |
5 |
6 | -------------------------------------------------------------------------------- /source/_includes/footer.html: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "", 3 | "name": "", 4 | "version": "", 5 | "dependencies": {}, 6 | "devDependencies": { 7 | "grunt": "~0.4.5", 8 | "grunt-html": "~1.4.0" 9 | }, 10 | "scripts": { 11 | "test": "grunt test" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | module.exports = function(grunt) { 2 | grunt.initConfig({ 3 | htmllint: { 4 | all: [ 5 | '_site/**/*.html' 6 | ] 7 | } 8 | }); 9 | grunt.loadNpmTasks('grunt-html'); 10 | grunt.registerTask('test', ['htmllint']); 11 | }; 12 | -------------------------------------------------------------------------------- /source/_layouts/sub-page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 |
7 | {% include sub-page_header.html %} 8 | {{ content }} 9 |
10 |
11 |
12 | -------------------------------------------------------------------------------- /source/_includes/sub-showcase_md.html: -------------------------------------------------------------------------------- 1 | {% for item in site.data.showcase %} 2 | {% if item.id == id %} 3 |

{{ item.desc }}

4 | {% if item.github_url %} GitHub {% endif %} 5 | {% endif %} 6 | {% endfor %} 7 | -------------------------------------------------------------------------------- /source/_includes/doctype.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Build Status](https://travis-ci.org/IIIF/showcase.iiif.io.svg?branch=master)](https://travis-ci.org/IIIF/showcase.iiif.io) 2 | 3 | # IIIF Showcase - Archived 4 | 5 | This site now lives in the IIIF website under the demo section here: 6 | 7 | https://github.com/IIIF/website/tree/main/source/demos 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /source/_data/organization.yml: -------------------------------------------------------------------------------- 1 | name: "IIIF | International Image Interoperability Framework" 2 | description: "International Image Interoperability Framework: A community driven image framework with well defined APIs for making the world’s image repositories interoperable and accessible" 3 | email: "iiif-discuss@googlegroups.com" 4 | url: http://iiif.io 5 | -------------------------------------------------------------------------------- /source/_includes/chromeframe.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /source/_data/navigation.yml: -------------------------------------------------------------------------------- 1 | - 2 | name: About 3 | url: http://iiif.io/about.html 4 | - 5 | name: Technical Details 6 | url: http://iiif.io/technical-details.html 7 | - 8 | name: "Apps & Demos" 9 | url: http://iiif.io/apps-demos.html 10 | - 11 | name: Community 12 | url: http://iiif.io/community.html 13 | - 14 | name: News 15 | url: http://iiif.io/news/ 16 | -------------------------------------------------------------------------------- /source/showcase/e-codices.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Showcase : e-codices" 3 | id: e-codices 4 | categories: [pages] 5 | layout: sub-page 6 | --- 7 | 8 |
9 | {% include showcase_return.html %} 10 | 11 | 12 | 13 | {% assign id = "e-codices" %} 14 | {% include sub-showcase_md.html %} 15 |
16 | -------------------------------------------------------------------------------- /source/showcase/satdb.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Showcase : satdb" 3 | id: satdb 4 | categories: [pages] 5 | layout: sub-page 6 | --- 7 | 8 |
9 | {% include showcase_return.html %} 10 | 11 | 12 | 13 | {% assign id = "satdb" %} 14 | {% include sub-showcase_md.html %} 15 |
16 | -------------------------------------------------------------------------------- /source/_layouts/default.html: -------------------------------------------------------------------------------- 1 | {% include doctype.html %} 2 | {% include head.html %} 3 | 4 | {% include chromeframe.html %} 5 | {% include nav.html %} 6 | {{ content }} 7 | {% include footer.html %} 8 | {% if page.id == 'main' %}{% include interactive_image_js.html %}{% endif %} 9 | {% if page.id == 'showcase' %}{% include showcase_js.html %}{% endif %} 10 | {% include ga.html %} 11 | 12 | 13 | -------------------------------------------------------------------------------- /source/showcase/mirador-viewer.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Showcase : Mirador Viewer" 3 | id: showcase-mirador 4 | categories: [pages] 5 | layout: sub-page 6 | --- 7 | 8 |
9 | {% include showcase_return.html %} 10 | 11 | 14 | 15 | {% assign id = "mirador" %} 16 | {% include sub-showcase_md.html %} 17 |
18 | -------------------------------------------------------------------------------- /scripts/check_mixedcontent.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCANNER_VERSION="0.1.2" 4 | 5 | mkdir files 6 | cd files 7 | curl -LO "https://github.com/IIIF/phantomjs-mixed-content-scan/archive/$SCANNER_VERSION.tar.gz" 8 | tar zxvf "$SCANNER_VERSION.tar.gz" 9 | mv phantomjs-mixed-content-scan-$SCANNER_VERSION/* . 10 | rmdir phantomjs-mixed-content-scan-$SCANNER_VERSION 11 | 12 | phantomjs --version 13 | 14 | ./check_mixedcontent.sh ../_site/showcase 15 | rm * 16 | cd .. 17 | rmdir files 18 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | markdown: kramdown 2 | highlighter: pygments 3 | source: source 4 | safe: false 5 | permalink: /news/:year/:month/:day/:title/ 6 | 7 | kramdown: 8 | input: GFM 9 | parse_block_html: true 10 | toc_levels: 2..6 11 | enable_coderay: true 12 | 13 | coderay: 14 | coderay_wrap: div 15 | coderay_line_numbers: nil 16 | coderay_css: class 17 | 18 | defaults: 19 | - 20 | scope: 21 | path: "" 22 | values: 23 | webprefix: "http://iiif.io" 24 | -------------------------------------------------------------------------------- /source/_includes/ga.html: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /source/showcase/leaflet-iiif-viewer.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Showcase : Leaflet-IIIF Viewer" 3 | id: showcase-leaflet 4 | categories: [pages] 5 | layout: sub-page 6 | --- 7 |
8 | {% include showcase_return.html %} 9 | 10 |
11 |
12 | 13 | {% assign id = "leaflet" %} 14 | {% include sub-showcase_md.html %} 15 |
16 | -------------------------------------------------------------------------------- /source/_data/acronyms.yml: -------------------------------------------------------------------------------- 1 | API: "Application Programming Interface" 2 | CORS: "Cross-Origin Resource Sharing" 3 | HATEOAS: "Hypermedia as the Engine of Application State" 4 | HTML: "HyperText Markup Language" 5 | HTTP: "Hypertext Transfer Protocol" 6 | IIIF: "International Image Interoperability Framework" 7 | JSON-LD: "JSON for Linking Data" 8 | JSON: "JavaScript Object Notation" 9 | REST: "Representational State Transfer" 10 | RFC: "Request for Comments" 11 | XML: "eXtensible Markup Language" 12 | -------------------------------------------------------------------------------- /source/showcase/loris-server.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Showcase : Loris IIIF Image Server" 3 | id: showcase-loris 4 | categories: [pages] 5 | layout: sub-page 6 | --- 7 | 8 |
9 | {% include showcase_return.html %} 10 | 11 | 14 | 15 | {% assign id = "loris" %} 16 | {% include sub-showcase_md.html %} 17 |
18 | -------------------------------------------------------------------------------- /source/showcase/iipimage-viewer.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Showcase : IIP Image Server" 3 | id: showcase-iip 4 | categories: [pages] 5 | layout: sub-page 6 | --- 7 | 8 |
9 | {% include showcase_return.html %} 10 | 11 | 14 | 15 | {% assign id = "iip" %} 16 | {% include sub-showcase_md.html %} 17 |
18 | -------------------------------------------------------------------------------- /source/showcase/tify.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Showcase : TIFY" 3 | id: showcase-tify 4 | categories: [pages] 5 | layout: sub-page 6 | --- 7 | 8 |
9 | {% include showcase_return.html %} 10 | 11 | 12 | 13 | {% assign id = "tify" %} 14 | {% include sub-showcase_md.html %} 15 |
16 | -------------------------------------------------------------------------------- /source/showcase/uv.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Showcase : Universal Viewer" 3 | id: showcase-uv 4 | categories: [pages] 5 | layout: sub-page 6 | --- 7 | 8 |
9 | {% include showcase_return.html %} 10 | 11 |
12 | 13 | 14 | {% assign id = "uv" %} 15 | {% include sub-showcase_md.html %} 16 |
17 | -------------------------------------------------------------------------------- /source/_includes/nav.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | Home 4 | 18 |
19 |
20 | -------------------------------------------------------------------------------- /source/showcase/ycba.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Showcase : Yale Center for British Art" 3 | id: showcase-ycba 4 | categories: [pages] 5 | layout: sub-page 6 | --- 7 | 8 |
9 | {% include showcase_return.html %} 10 | 11 | 12 | 13 | {% assign id = "ycba" %} 14 | {% include sub-showcase_md.html %} 15 |
16 | -------------------------------------------------------------------------------- /source/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: IIIF Showcase 3 | id: showcase 4 | categories: [pages] 5 | layout: sub-page 6 | --- 7 | 8 |
9 |
10 | 11 | {% for item in site.data.showcase %} 12 |
13 |
14 |
15 | {{ item.name }} 16 |

{{ item.name }}

17 |
18 |
19 |

{{ item.name }}

20 |

{{ item.desc }}

21 |

22 | {% if item.github_url %} GitHub {% endif %} 23 | {% if item.url %} Learn more {% endif %} 24 |

25 |
26 |
27 |
28 | {% endfor %} 29 |
30 | 31 |
32 | -------------------------------------------------------------------------------- /source/js/main.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | $('.iiif-demo').iiifDemo({ 3 | selectOptions: { 4 | '0,1200,5213,2242': { 5 | 'w,' : [0], 6 | 'w - 200,': [0], 7 | 'w - 400,': [0] 8 | }, 9 | '1400,1200,2500,1075' : { 10 | 'w,' : [0], 11 | 'w - 200,': [0], 12 | 'w - 400,': [0] 13 | }, 14 | 'full': { 15 | ',h' : [0, 90, 180, 270], 16 | ',h - 200': [0, 90, 180, 270] 17 | }, 18 | '2325,1300,800,800': { 19 | '400,400': [0, 90, 180, 270], 20 | '200,200': [0, 90, 180, 270], 21 | '100,100': [0, 90, 180, 270] 22 | }, 23 | '3050,3000,1200,1600': { 24 | '300,400': [0, 90, 180, 270], 25 | '225,300': [0, 90, 180, 270], 26 | '150,200': [0, 90, 180, 270] 27 | }, 28 | '2150,4500,1500,645': { 29 | 'w,' : [0], 30 | 'w - 200,': [0], 31 | 'w - 400,': [0] 32 | }, 33 | '2125,4375,4500,1935': { 34 | 'w,' : [0], 35 | 'w - 200,': [0], 36 | 'w - 400,': [0] 37 | } 38 | }, 39 | iiifImgInfo: { 40 | baseUrl: 'http://stacks.stanford.edu/image/iiif/ff139pd0160%252FK90113-43', 41 | region: 'full', 42 | size: 'full', 43 | rotation: 0, 44 | quality: 'native', 45 | format: 'jpg' 46 | } 47 | }); 48 | }); 49 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: ruby 2 | 3 | sudo: false 4 | 5 | notifications: 6 | email: 7 | recipients: 8 | - "glen.robson@iiif.io" 9 | on_success: "change" 10 | on_failure: "change" 11 | 12 | rvm: 13 | - 2.4.2 14 | 15 | env: 16 | global: 17 | - NOKOGIRI_USE_SYSTEM_LIBRARIES=true 18 | addons: 19 | apt: 20 | packages: 21 | - libcurl4-openssl-dev # required to avoid SSL errors 22 | 23 | cache: 24 | - bundler 25 | - pip 26 | 27 | install: 28 | - bundle install 29 | - pip install --user awscli 30 | 31 | script: ./scripts/test.sh 32 | 33 | before_deploy: bundle exec jekyll clean && bundle exec jekyll build 34 | 35 | deploy: 36 | - provider: s3 37 | access_key_id: 38 | secure: 3L/gJxiZA6XvSQzldRnZgMX8gYVpRegspyevoQeDKqrAMTNEDsIp+AOhcukwrZgDKZJgH8lNEhtcNqnHjukJkSa3ySWUq+Is3+RWYfQII0jgtYNMq5TEOo47B4unFo7lmIvG4uBjlDJxsInKec8DDgzFJjIog+ivvWjdXKkH/yc= 39 | secret_access_key: 40 | secure: nrH+05JoiR+XBSzmvnAoWyq/SO6zUeIYB/BMgpMENHO7Uyw5nVXOyFpituDyrqdgwqWgcjT7+X5JwgCVM3x01PCbaTbC5KzfMtlyneqn4btqONEoaQb7KF+QHrVzl/0F0acHqxOaCrJiAsnc61AjX3f0f7rwCQY6srTxvnfTwqY= 41 | bucket: showcase.iiif.io 42 | skip_cleanup: true 43 | acl: public_read 44 | region: us-east-1 45 | local_dir: _site 46 | on: 47 | branch: master 48 | after_deploy: 49 | - aws configure set preview.cloudfront true 50 | - aws cloudfront create-invalidation --distribution-id $CLOUDFRONT_DISTRIBUTION_ID --paths "/*" 51 | -------------------------------------------------------------------------------- /source/showcase/georeferencer.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Showcase : Georeferencer" 3 | id: showcase-georeferencer 4 | categories: [pages] 5 | layout: sub-page 6 | --- 7 | 8 |
9 | {% include showcase_return.html %} 10 |
11 | 12 |
13 |
14 |

This online service allows visual integration of historical map layers and overlaying these on top of aerial imagery and modern base maps. A scanned map available via IIIF can be displayed on the correct position in Google Maps and OpenStreetMap or side-by-side to other maps - just with a few click of a mouse directly in a web browser.

15 |

Via crowdsourcing, you can invite visitors of your website or the general public to actively participate and help your institution with locating of your maps. The service is ready for integration with online catalogues and websites and allow to export the scanned maps to map mashups and GIS software.

16 |

See more at georeferencer.com.

17 |
18 | {% assign id = "georeferencer" %} 19 | {% include sub-showcase_md.html %} 20 |
21 | -------------------------------------------------------------------------------- /source/_includes/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ page.title }} — {{ site.data.organization.name }} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | {% if page.id == 'showcase-leaflet' %} 15 | 16 | 17 | 18 | 19 | {% endif %} 20 | 21 | -------------------------------------------------------------------------------- /source/showcase/osd-viewer.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Showcase : OpenSeadragon Viewer" 3 | id: showcase-osd 4 | categories: [pages] 5 | layout: sub-page 6 | --- 7 | 8 |
9 | {% include showcase_return.html %} 10 |
11 | 12 | 29 | 30 | {% assign id = "osd" %} 31 | {% include sub-showcase_md.html %} 32 |
33 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Guidelines 2 | 3 | ## Communication 4 | 5 | Please use [iiif-discuss@googlegroups.com](mailto:iiif-discuss@googlegroups.com) for general discussion, questions and feedback on the demos. This is to ensure that the entire community can see what is being, and has been discussed. Searching in github issues for answers to a question that has already been answered is much less convenient than reading through issues in a google group. It is also to ensure that non-technical contributors have a chance to engage without feeling intimidated by the more code-oriented nature of github. 6 | 7 | Please file issues in github for problems with the website. One issue should be used per problem, so that we can work on them individually and either mark them as wontfix, defer, or close them when they're solved. 8 | 9 | The committers take responsibility for ensuring that comments and feedback on iiif-discuss are turned into issues. Please check that your issue discussed on the email list hasn't already been added. 10 | 11 | Pull requests are welcome. Please read on for how to contribute directly. 12 | 13 | ## Making Changes 14 | 15 | Please do not work on master. Submit pull requests from branches, and [squash your commits][squash] prior. For example: 16 | 17 | ``` 18 | $ git checkout master 19 | $ git checkout pull # make sure you're up to date 20 | $ git checkout my_cool_branch 21 | $ git rebase -i master 22 | ``` 23 | 24 | and follow the prompts. Generally you'll `pick` the first commit and `squash` the rest into it. 25 | 26 | ## English 27 | 28 | Specs are written in American English. Use: 29 | 30 | * *color* not ~~*colour*~~ 31 | * *gray* not ~~*grey*~~ 32 | 33 | ## Markdown 34 | 35 | Use the [Kramdown syntax][kram]. 36 | 37 | ## Images 38 | 39 | Images must be PNG. 40 | 41 | ## Use of Page vs Site Variables 42 | 43 | The _config.yml file defines various site level variables. 44 | 45 | ## Front Matter 46 | 47 | * Use `tags`, not `category` or `categories`. 48 | * Look at previous posts and specs to determine what tags/categories to use. 49 | * News posts must include: 50 | 51 | * title 52 | * author 53 | * tags 54 | * layout: post 55 | 56 | and may include an excerpt. 57 | 58 | [kram]: http://kramdown.gettalong.org/syntax.html 59 | [squash]: http://lmgtfy.com/?q=Squash+git+commits 60 | -------------------------------------------------------------------------------- /source/js/leaflet-examples.js: -------------------------------------------------------------------------------- 1 | var map, stanfordMlk, apostle, princetonMap, bnf, iiifLayers, scottlandBagpipe; 2 | 3 | map = L.map('map', { 4 | center: [0, 0], 5 | crs: L.CRS.Simple, 6 | zoom: 0 7 | }); 8 | 9 | stanfordMlk = L.tileLayer.iiif('https://stacks.stanford.edu/image/iiif/hg676jb4964%2F0380_796-44/info.json', { 10 | attribution: 'Martin Luther King Jr. & Joan Baez march to integrate schools, Grenada, MS, 1966' 11 | }).addTo(map); 12 | 13 | princetonMap = L.tileLayer.iiif('https://libimages.princeton.edu/loris2/pudl0076%2Fmap_pownall%2F00000001.jp2/info.json', { 14 | attribution: 'The provinces of New York and New Jersey, with part of Pensilvania, and the Province of Quebec : drawn by Major Holland, Surveyor General, of the Northern District in America. Corrected and improved, from the original materials, by Governr. Pownall, Member of Parliament, 1776' 15 | }); 16 | 17 | apostle = L.tileLayer.iiif('https://ids.lib.harvard.edu/ids/iiif/25286610/info.json', { 18 | attribution: 'Apostle: Anonymous sculptor of Florence, 15th century (1401-1500)' 19 | }); 20 | 21 | bnf = L.tileLayer.iiif('https://gallica.bnf.fr/iiif/ark:/12148/btv1b84539771/f1/info.json', { 22 | attribution: 'ManuscritKalîla et Dimna, avec de nombreuses', 23 | fitBounds: false 24 | }); 25 | 26 | acrobata = L.tileLayer.iiif('https://libimages.princeton.edu/loris2/pudl0033/2007/04003/00000001.jp2/info.json', { 27 | attribution: 'Acrobata Marroquí - Lorenzo Homar', 28 | quality: 'gray' 29 | }); 30 | 31 | scottlandBagpipe = L.tileLayer.iiif('https://images.is.ed.ac.uk/luna/servlet/iiif/UoEwmm~2~2~77099~164515/info.json'); 32 | 33 | iiifLayers = { 34 | 'Martin Luther King Jr. & Joan Baez ...': stanfordMlk, 35 | 'The provinces of New York and N...': princetonMap, 36 | 'Apostle: Anonymous sculptor of Fl...': apostle, 37 | 'ManuscritKalîla et Dimna, avec de...': bnf, 38 | 'Acrobata Marroquí': acrobata, 39 | 'A Compleat Theory of the Scots Highland Bagpipe': scottlandBagpipe 40 | }; 41 | 42 | //L.control.layers(iiifLayers).addTo(map); 43 | -------------------------------------------------------------------------------- /source/css/normalize.min.css: -------------------------------------------------------------------------------- 1 | /*! normalize.css v1.1.2 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:1em 40px}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:'';content:none}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0} -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | activesupport (5.2.0) 5 | concurrent-ruby (~> 1.0, >= 1.0.2) 6 | i18n (>= 0.7, < 2) 7 | minitest (~> 5.1) 8 | tzinfo (~> 1.1) 9 | addressable (2.5.2) 10 | public_suffix (>= 2.0.2, < 4.0) 11 | colorator (1.1.0) 12 | colorize (0.8.1) 13 | concurrent-ruby (1.0.5) 14 | diff-lcs (1.3) 15 | em-websocket (0.5.1) 16 | eventmachine (>= 0.12.9) 17 | http_parser.rb (~> 0.6.0) 18 | ethon (0.11.0) 19 | ffi (>= 1.3.0) 20 | eventmachine (1.2.7) 21 | faker (1.8.7) 22 | i18n (>= 0.7) 23 | ffi (1.9.25) 24 | forwardable-extended (2.6.0) 25 | html-proofer (3.9.1) 26 | activesupport (>= 4.2, < 6.0) 27 | addressable (~> 2.3) 28 | colorize (~> 0.8) 29 | mercenary (~> 0.3.2) 30 | nokogiri (~> 1.8.1) 31 | parallel (~> 1.3) 32 | typhoeus (~> 1.3) 33 | yell (~> 2.0) 34 | http_parser.rb (0.6.0) 35 | i18n (0.9.5) 36 | concurrent-ruby (~> 1.0) 37 | jekyll (3.8.3) 38 | addressable (~> 2.4) 39 | colorator (~> 1.0) 40 | em-websocket (~> 0.5) 41 | i18n (~> 0.7) 42 | jekyll-sass-converter (~> 1.0) 43 | jekyll-watch (~> 2.0) 44 | kramdown (~> 1.14) 45 | liquid (~> 4.0) 46 | mercenary (~> 0.3.3) 47 | pathutil (~> 0.9) 48 | rouge (>= 1.7, < 4) 49 | safe_yaml (~> 1.0) 50 | jekyll-sass-converter (1.5.2) 51 | sass (~> 3.4) 52 | jekyll-watch (2.0.0) 53 | listen (~> 3.0) 54 | kramdown (1.17.0) 55 | liquid (4.0.0) 56 | listen (3.1.5) 57 | rb-fsevent (~> 0.9, >= 0.9.4) 58 | rb-inotify (~> 0.9, >= 0.9.7) 59 | ruby_dep (~> 1.2) 60 | mercenary (0.3.6) 61 | mini_portile2 (2.3.0) 62 | minitest (5.11.3) 63 | nokogiri (1.8.4) 64 | mini_portile2 (~> 2.3.0) 65 | parallel (1.12.1) 66 | pathutil (0.16.1) 67 | forwardable-extended (~> 2.6) 68 | public_suffix (3.0.2) 69 | rake (12.3.1) 70 | rb-fsevent (0.10.3) 71 | rb-inotify (0.9.10) 72 | ffi (>= 0.5.0, < 2) 73 | rouge (3.1.1) 74 | rspec (3.7.0) 75 | rspec-core (~> 3.7.0) 76 | rspec-expectations (~> 3.7.0) 77 | rspec-mocks (~> 3.7.0) 78 | rspec-core (3.7.1) 79 | rspec-support (~> 3.7.0) 80 | rspec-expectations (3.7.0) 81 | diff-lcs (>= 1.2.0, < 2.0) 82 | rspec-support (~> 3.7.0) 83 | rspec-mocks (3.7.0) 84 | diff-lcs (>= 1.2.0, < 2.0) 85 | rspec-support (~> 3.7.0) 86 | rspec-support (3.7.1) 87 | ruby_dep (1.5.0) 88 | safe_yaml (1.0.4) 89 | sass (3.5.6) 90 | sass-listen (~> 4.0.0) 91 | sass-listen (4.0.0) 92 | rb-fsevent (~> 0.9, >= 0.9.4) 93 | rb-inotify (~> 0.9, >= 0.9.7) 94 | thread_safe (0.3.6) 95 | typhoeus (1.3.0) 96 | ethon (>= 0.9.0) 97 | tzinfo (1.2.5) 98 | thread_safe (~> 0.1) 99 | yell (2.0.7) 100 | 101 | PLATFORMS 102 | ruby 103 | 104 | DEPENDENCIES 105 | faker 106 | html-proofer 107 | jekyll (> 3.7) 108 | kramdown (> 1.16) 109 | rake 110 | rspec 111 | 112 | BUNDLED WITH 113 | 1.16.1 114 | -------------------------------------------------------------------------------- /source/_data/showcase.yml: -------------------------------------------------------------------------------- 1 | 2 | ### Clients 3 | 4 | - name: OpenSeadragon 5 | id: osd 6 | type: client 7 | img_url: /img/showcase/osd.jpg 8 | desc: 9 | - > 10 | An open-source, web-based viewer for zoomable images, implemented in pure JavaScript. 11 | github_url: https://github.com/openseadragon/openseadragon 12 | url: /showcase/osd-viewer/ 13 | 14 | - name: Mirador Viewer 15 | id: mirador 16 | type: client 17 | img_url: /img/showcase/mirador.jpg 18 | desc: 19 | - > 20 | An open-source, web-based 'multi-up' viewer that supports zoom-pan-rotate 21 | functionality, ability to display/compare simple images, and images with 22 | annotations. 23 | github_url: https://github.com/IIIF/mirador 24 | 25 | - name: Universal Viewer 26 | id: uv 27 | type: client 28 | img_url: /img/showcase/uv.png 29 | desc: 30 | - > 31 | Initially developed by Digirati for the Wellcome Library, the UV can display most types of digital 32 | content, including cover-to-cover books, archives, works of art, video, audio and 3D. It also supports the IIIF Auth and Search APIs. 33 | github_url: https://github.com/UniversalViewer/universalviewer 34 | url: /showcase/uv/ 35 | 36 | - name: Leaflet-IIIF Viewer 37 | id: leaflet 38 | type: client 39 | img_url: /img/showcase/leaflet.jpg 40 | desc: 41 | - > 42 | Leaflet-IIIF is a Leaflet plugin that enables zoomable IIIF images to be 43 | easily and quickly displayed. Leaflet + Leaflet-IIIF weigh in at just 35 KB 44 | and include great features like accessible keyboard controls and native 45 | touch/mobile support. 46 | github_url: https://github.com/mejackreed/Leaflet-IIIF 47 | url: /showcase/leaflet-iiif-viewer/ 48 | 49 | - name: TIFY 50 | id: tify 51 | type: client 52 | img_url: img/showcase/tify_IIIF_showcase.png 53 | desc: 54 | - > 55 | TIFY is a slim and mobile-friendly IIIF document viewer built with Vue.js. 56 | github_url: https://github.com/subugoe/tify 57 | url: /showcase/tify/ 58 | 59 | ### Servers 60 | 61 | - name: Loris IIIF Image Server 62 | id: loris 63 | type: server 64 | img_url: /img/showcase/loris.jpg 65 | desc: 66 | - > 67 | Loris is an open source, Python-based image server that supports the IIIF 68 | Image API version 2.0. Loris supports JPEG2000 as well as JPEG and TIFF source images. 69 | github_url: https://github.com/pulibrary/loris 70 | 71 | - name: IIP Image 72 | id: iip 73 | type: server 74 | img_url: /img/showcase/iip.png 75 | desc: 76 | - > 77 | IIPImage is a high-performance feature-rich image server system 78 | for web-based streamed viewing and zooming of ultra high-resolution images. 79 | IIPImage Server is designed to be embedded within a host web server such as Apache, Lighttpd, 80 | MyServer or Nginx. It supports TIFF and JPEG2000 source images. 81 | github_url: https://github.com/ruven/iipsrv 82 | 83 | ### Sites/Consumers 84 | 85 | - name: Georeferencer 86 | id: georeferencer 87 | type: site 88 | img_url: /img/showcase/georeferencer.jpg 89 | desc: 90 | - > 91 | Turn scans into maps. Georeferencer is an online tool that assigns 92 | geographical location to any IIIF image. 93 | url: /showcase/georeferencer/ 94 | 95 | - name: Yale Center for British Art 96 | id: ycba 97 | type: site 98 | img_url: /img/showcase/yale-ycba-iipmooviewer.png 99 | desc: 100 | - > 101 | The Yale Center for British Art uses IIPMooviewer's IIIF Image API support 102 | to provide access to high-resolution images. 103 | url: /showcase/ycba/ 104 | 105 | - name: e-codices 106 | id: e-codices 107 | type: site 108 | img_url: /img/showcase/e-codices.png 109 | desc: 110 | - > 111 | e-codices – Virtual Manuscript Library of Switzerland uses the Loris IIIF Image Server, OpenSeadragon and the IIIF Presentation API, providing access to over 450,000 high-resolution images from over 1,200 medieval manuscripts with metadata in four languages. 112 | url: /showcase/e-codices/ 113 | 114 | 115 | - name: SAT Taishōzō Image DB 116 | id: satdb 117 | type: site 118 | img_url: /img/showcase/satdb.png 119 | desc: 120 | - > 121 | Buddhist images can be searched not only from the search window but also from the value of the embedded tag on the images by clicking on it. Users can find search terms by English words with clicking "EN" button without inputting Japanese words by hand. This system also provides a function to display several images in parallel easily from a search result via a cart by use of Mirador. 122 | url: /showcase/satdb/ 123 | 124 | ### Other 125 | -------------------------------------------------------------------------------- /source/css/normalize.css: -------------------------------------------------------------------------------- 1 | /*! normalize.css v1.1.2 | MIT License | git.io/normalize */ 2 | 3 | /* ========================================================================== 4 | HTML5 display definitions 5 | ========================================================================== */ 6 | 7 | /** 8 | * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. 9 | */ 10 | 11 | article, 12 | aside, 13 | details, 14 | figcaption, 15 | figure, 16 | footer, 17 | header, 18 | hgroup, 19 | main, 20 | nav, 21 | section, 22 | summary { 23 | display: block; 24 | } 25 | 26 | /** 27 | * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. 28 | */ 29 | 30 | audio, 31 | canvas, 32 | video { 33 | display: inline-block; 34 | *display: inline; 35 | *zoom: 1; 36 | } 37 | 38 | /** 39 | * Prevent modern browsers from displaying `audio` without controls. 40 | * Remove excess height in iOS 5 devices. 41 | */ 42 | 43 | audio:not([controls]) { 44 | display: none; 45 | height: 0; 46 | } 47 | 48 | /** 49 | * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. 50 | * Known issue: no IE 6 support. 51 | */ 52 | 53 | [hidden] { 54 | display: none; 55 | } 56 | 57 | /* ========================================================================== 58 | Base 59 | ========================================================================== */ 60 | 61 | /** 62 | * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using 63 | * `em` units. 64 | * 2. Prevent iOS text size adjust after orientation change, without disabling 65 | * user zoom. 66 | */ 67 | 68 | html { 69 | font-size: 100%; /* 1 */ 70 | -ms-text-size-adjust: 100%; /* 2 */ 71 | -webkit-text-size-adjust: 100%; /* 2 */ 72 | } 73 | 74 | /** 75 | * Address `font-family` inconsistency between `textarea` and other form 76 | * elements. 77 | */ 78 | 79 | html, 80 | button, 81 | input, 82 | select, 83 | textarea { 84 | font-family: sans-serif; 85 | } 86 | 87 | /** 88 | * Address margins handled incorrectly in IE 6/7. 89 | */ 90 | 91 | body { 92 | margin: 0; 93 | } 94 | 95 | /* ========================================================================== 96 | Links 97 | ========================================================================== */ 98 | 99 | /** 100 | * Address `outline` inconsistency between Chrome and other browsers. 101 | */ 102 | 103 | a:focus { 104 | outline: thin dotted; 105 | } 106 | 107 | /** 108 | * Improve readability when focused and also mouse hovered in all browsers. 109 | */ 110 | 111 | a:active, 112 | a:hover { 113 | outline: 0; 114 | } 115 | 116 | /* ========================================================================== 117 | Typography 118 | ========================================================================== */ 119 | 120 | /** 121 | * Address font sizes and margins set differently in IE 6/7. 122 | * Address font sizes within `section` and `article` in Firefox 4+, Safari 5, 123 | * and Chrome. 124 | */ 125 | 126 | h1 { 127 | font-size: 2em; 128 | margin: 0.67em 0; 129 | } 130 | 131 | h2 { 132 | font-size: 1.5em; 133 | margin: 0.83em 0; 134 | } 135 | 136 | h3 { 137 | font-size: 1.17em; 138 | margin: 1em 0; 139 | } 140 | 141 | h4 { 142 | font-size: 1em; 143 | margin: 1.33em 0; 144 | } 145 | 146 | h5 { 147 | font-size: 0.83em; 148 | margin: 1.67em 0; 149 | } 150 | 151 | h6 { 152 | font-size: 0.67em; 153 | margin: 2.33em 0; 154 | } 155 | 156 | /** 157 | * Address styling not present in IE 7/8/9, Safari 5, and Chrome. 158 | */ 159 | 160 | abbr[title] { 161 | border-bottom: 1px dotted; 162 | } 163 | 164 | /** 165 | * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. 166 | */ 167 | 168 | b, 169 | strong { 170 | font-weight: bold; 171 | } 172 | 173 | blockquote { 174 | margin: 1em 40px; 175 | } 176 | 177 | /** 178 | * Address styling not present in Safari 5 and Chrome. 179 | */ 180 | 181 | dfn { 182 | font-style: italic; 183 | } 184 | 185 | /** 186 | * Address differences between Firefox and other browsers. 187 | * Known issue: no IE 6/7 normalization. 188 | */ 189 | 190 | hr { 191 | -moz-box-sizing: content-box; 192 | box-sizing: content-box; 193 | height: 0; 194 | } 195 | 196 | /** 197 | * Address styling not present in IE 6/7/8/9. 198 | */ 199 | 200 | mark { 201 | background: #ff0; 202 | color: #000; 203 | } 204 | 205 | /** 206 | * Address margins set differently in IE 6/7. 207 | */ 208 | 209 | p, 210 | pre { 211 | margin: 1em 0; 212 | } 213 | 214 | /** 215 | * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. 216 | */ 217 | 218 | code, 219 | kbd, 220 | pre, 221 | samp { 222 | font-family: monospace, serif; 223 | _font-family: 'courier new', monospace; 224 | font-size: 1em; 225 | } 226 | 227 | /** 228 | * Improve readability of pre-formatted text in all browsers. 229 | */ 230 | 231 | pre { 232 | white-space: pre; 233 | white-space: pre-wrap; 234 | word-wrap: break-word; 235 | } 236 | 237 | /** 238 | * Address CSS quotes not supported in IE 6/7. 239 | */ 240 | 241 | q { 242 | quotes: none; 243 | } 244 | 245 | /** 246 | * Address `quotes` property not supported in Safari 4. 247 | */ 248 | 249 | q:before, 250 | q:after { 251 | content: ''; 252 | content: none; 253 | } 254 | 255 | /** 256 | * Address inconsistent and variable font size in all browsers. 257 | */ 258 | 259 | small { 260 | font-size: 80%; 261 | } 262 | 263 | /** 264 | * Prevent `sub` and `sup` affecting `line-height` in all browsers. 265 | */ 266 | 267 | sub, 268 | sup { 269 | font-size: 75%; 270 | line-height: 0; 271 | position: relative; 272 | vertical-align: baseline; 273 | } 274 | 275 | sup { 276 | top: -0.5em; 277 | } 278 | 279 | sub { 280 | bottom: -0.25em; 281 | } 282 | 283 | /* ========================================================================== 284 | Lists 285 | ========================================================================== */ 286 | 287 | /** 288 | * Address margins set differently in IE 6/7. 289 | */ 290 | 291 | dl, 292 | menu, 293 | ol, 294 | ul { 295 | margin: 1em 0; 296 | } 297 | 298 | dd { 299 | margin: 0 0 0 40px; 300 | } 301 | 302 | /** 303 | * Address paddings set differently in IE 6/7. 304 | */ 305 | 306 | menu, 307 | ol, 308 | ul { 309 | padding: 0 0 0 40px; 310 | } 311 | 312 | /** 313 | * Correct list images handled incorrectly in IE 7. 314 | */ 315 | 316 | nav ul, 317 | nav ol { 318 | list-style: none; 319 | list-style-image: none; 320 | } 321 | 322 | /* ========================================================================== 323 | Embedded content 324 | ========================================================================== */ 325 | 326 | /** 327 | * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. 328 | * 2. Improve image quality when scaled in IE 7. 329 | */ 330 | 331 | img { 332 | border: 0; /* 1 */ 333 | -ms-interpolation-mode: bicubic; /* 2 */ 334 | } 335 | 336 | /** 337 | * Correct overflow displayed oddly in IE 9. 338 | */ 339 | 340 | svg:not(:root) { 341 | overflow: hidden; 342 | } 343 | 344 | /* ========================================================================== 345 | Figures 346 | ========================================================================== */ 347 | 348 | /** 349 | * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. 350 | */ 351 | 352 | figure { 353 | margin: 0; 354 | } 355 | 356 | /* ========================================================================== 357 | Forms 358 | ========================================================================== */ 359 | 360 | /** 361 | * Correct margin displayed oddly in IE 6/7. 362 | */ 363 | 364 | form { 365 | margin: 0; 366 | } 367 | 368 | /** 369 | * Define consistent border, margin, and padding. 370 | */ 371 | 372 | fieldset { 373 | border: 1px solid #c0c0c0; 374 | margin: 0 2px; 375 | padding: 0.35em 0.625em 0.75em; 376 | } 377 | 378 | /** 379 | * 1. Correct color not being inherited in IE 6/7/8/9. 380 | * 2. Correct text not wrapping in Firefox 3. 381 | * 3. Correct alignment displayed oddly in IE 6/7. 382 | */ 383 | 384 | legend { 385 | border: 0; /* 1 */ 386 | padding: 0; 387 | white-space: normal; /* 2 */ 388 | *margin-left: -7px; /* 3 */ 389 | } 390 | 391 | /** 392 | * 1. Correct font size not being inherited in all browsers. 393 | * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, 394 | * and Chrome. 395 | * 3. Improve appearance and consistency in all browsers. 396 | */ 397 | 398 | button, 399 | input, 400 | select, 401 | textarea { 402 | font-size: 100%; /* 1 */ 403 | margin: 0; /* 2 */ 404 | vertical-align: baseline; /* 3 */ 405 | *vertical-align: middle; /* 3 */ 406 | } 407 | 408 | /** 409 | * Address Firefox 3+ setting `line-height` on `input` using `!important` in 410 | * the UA stylesheet. 411 | */ 412 | 413 | button, 414 | input { 415 | line-height: normal; 416 | } 417 | 418 | /** 419 | * Address inconsistent `text-transform` inheritance for `button` and `select`. 420 | * All other form control elements do not inherit `text-transform` values. 421 | * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. 422 | * Correct `select` style inheritance in Firefox 4+ and Opera. 423 | */ 424 | 425 | button, 426 | select { 427 | text-transform: none; 428 | } 429 | 430 | /** 431 | * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` 432 | * and `video` controls. 433 | * 2. Correct inability to style clickable `input` types in iOS. 434 | * 3. Improve usability and consistency of cursor style between image-type 435 | * `input` and others. 436 | * 4. Remove inner spacing in IE 7 without affecting normal text inputs. 437 | * Known issue: inner spacing remains in IE 6. 438 | */ 439 | 440 | button, 441 | html input[type="button"], /* 1 */ 442 | input[type="reset"], 443 | input[type="submit"] { 444 | -webkit-appearance: button; /* 2 */ 445 | cursor: pointer; /* 3 */ 446 | *overflow: visible; /* 4 */ 447 | } 448 | 449 | /** 450 | * Re-set default cursor for disabled elements. 451 | */ 452 | 453 | button[disabled], 454 | html input[disabled] { 455 | cursor: default; 456 | } 457 | 458 | /** 459 | * 1. Address box sizing set to content-box in IE 8/9. 460 | * 2. Remove excess padding in IE 8/9. 461 | * 3. Remove excess padding in IE 7. 462 | * Known issue: excess padding remains in IE 6. 463 | */ 464 | 465 | input[type="checkbox"], 466 | input[type="radio"] { 467 | box-sizing: border-box; /* 1 */ 468 | padding: 0; /* 2 */ 469 | *height: 13px; /* 3 */ 470 | *width: 13px; /* 3 */ 471 | } 472 | 473 | /** 474 | * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 475 | * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome 476 | * (include `-moz` to future-proof). 477 | */ 478 | 479 | input[type="search"] { 480 | -webkit-appearance: textfield; /* 1 */ 481 | -moz-box-sizing: content-box; 482 | -webkit-box-sizing: content-box; /* 2 */ 483 | box-sizing: content-box; 484 | } 485 | 486 | /** 487 | * Remove inner padding and search cancel button in Safari 5 and Chrome 488 | * on OS X. 489 | */ 490 | 491 | input[type="search"]::-webkit-search-cancel-button, 492 | input[type="search"]::-webkit-search-decoration { 493 | -webkit-appearance: none; 494 | } 495 | 496 | /** 497 | * Remove inner padding and border in Firefox 3+. 498 | */ 499 | 500 | button::-moz-focus-inner, 501 | input::-moz-focus-inner { 502 | border: 0; 503 | padding: 0; 504 | } 505 | 506 | /** 507 | * 1. Remove default vertical scrollbar in IE 6/7/8/9. 508 | * 2. Improve readability and alignment in all browsers. 509 | */ 510 | 511 | textarea { 512 | overflow: auto; /* 1 */ 513 | vertical-align: top; /* 2 */ 514 | } 515 | 516 | /* ========================================================================== 517 | Tables 518 | ========================================================================== */ 519 | 520 | /** 521 | * Remove most spacing between table cells. 522 | */ 523 | 524 | table { 525 | border-collapse: collapse; 526 | border-spacing: 0; 527 | } 528 | -------------------------------------------------------------------------------- /source/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js: -------------------------------------------------------------------------------- 1 | /* Modernizr 2.6.2 (Custom Build) | MIT & BSD 2 | * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load 3 | */ 4 | ;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(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=w.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(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(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},D(""),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=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.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 #mq-test-1 { width: 42px; }';a.insertBefore(d,b);c=g.offsetWidth==42;a.removeChild(d);return{matches:c,media:h}}})(document); 9 | 10 | /*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */ 11 | (function(e){e.respond={};respond.update=function(){};respond.mediaQueriesSupported=e.matchMedia&&e.matchMedia("only all").matches;if(respond.mediaQueriesSupported){return}var w=e.document,s=w.documentElement,i=[],k=[],q=[],o={},h=30,f=w.getElementsByTagName("head")[0]||s,g=w.getElementsByTagName("base")[0],b=f.getElementsByTagName("link"),d=[],a=function(){var D=b,y=D.length,B=0,A,z,C,x;for(;B-1,minw:F.match(/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:F.match(/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}}j()},l,r,v=function(){var z,A=w.createElement("div"),x=w.body,y=false;A.style.cssText="position:absolute;font-size:1em;width:1em";if(!x){x=y=w.createElement("body");x.style.background="none"}x.appendChild(A);s.insertBefore(x,s.firstChild);z=A.offsetWidth;if(y){s.removeChild(x)}else{x.removeChild(A)}z=p=parseFloat(z);return z},p,j=function(I){var x="clientWidth",B=s[x],H=w.compatMode==="CSS1Compat"&&B||w.body[x]||B,D={},G=b[b.length-1],z=(new Date()).getTime();if(I&&l&&z-l-1?(p||v()):1)}if(!!J){J=parseFloat(J)*(J.indexOf(y)>-1?(p||v()):1)}if(!K.hasquery||(!A||!L)&&(A||H>=C)&&(L||H<=J)){if(!D[K.media]){D[K.media]=[]}D[K.media].push(k[K.rules])}}for(var E in q){if(q[E]&&q[E].parentNode===f){f.removeChild(q[E])}}for(var E in D){var M=w.createElement("style"),F=D[E].join("\n");M.type="text/css";M.media=E;f.insertBefore(M,G.nextSibling);if(M.styleSheet){M.styleSheet.cssText=F}else{M.appendChild(w.createTextNode(F))}q.push(M)}},n=function(x,z){var y=c();if(!y){return}y.open("GET",x,true);y.onreadystatechange=function(){if(y.readyState!=4||y.status!=200&&y.status!=304){return}z(y.responseText)};if(y.readyState==4){return}y.send(null)},c=(function(){var x=false;try{x=new XMLHttpRequest()}catch(y){x=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return x}})();a();respond.update=a;function t(){j(true)}if(e.addEventListener){e.addEventListener("resize",t,false)}else{if(e.attachEvent){e.attachEvent("onresize",t)}}})(this); -------------------------------------------------------------------------------- /source/css/main.scss: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | /* ========================================================================== 4 | HTML5 Boilerplate styles - h5bp.com (generated via initializr.com) 5 | ========================================================================== */ 6 | 7 | html, 8 | button, 9 | input, 10 | select, 11 | textarea { 12 | color: #222; 13 | } 14 | 15 | body { 16 | font-size: 1em; 17 | line-height: 1.4; 18 | } 19 | 20 | ::-moz-selection { 21 | background: #b3d4fc; 22 | text-shadow: none; 23 | } 24 | 25 | ::selection { 26 | background: #b3d4fc; 27 | text-shadow: none; 28 | } 29 | 30 | hr { 31 | display: block; 32 | height: 1px; 33 | border: 0; 34 | border-top: 1px solid #ccc; 35 | margin: 1em 0; 36 | padding: 0; 37 | } 38 | 39 | img { 40 | vertical-align: middle; 41 | } 42 | 43 | fieldset { 44 | border: 0; 45 | margin: 0; 46 | padding: 0; 47 | } 48 | 49 | textarea { 50 | resize: vertical; 51 | } 52 | 53 | .chromeframe { 54 | margin: 0.2em 0; 55 | background: #ccc; 56 | color: #000; 57 | padding: 0.2em 0; 58 | } 59 | 60 | 61 | /* ===== Initializr Styles ================================================== 62 | Author: Jonathan Verrecchia - verekia.com/initializr/responsive-template 63 | ============================================================================= */ 64 | 65 | body { 66 | color: #555; 67 | font: 15px/26px 'Open Sans', Helvetica, Helvetica Neue, Arial; 68 | } 69 | 70 | 71 | 72 | .wrapper { 73 | width: 90%; 74 | margin: 0 5%; 75 | } 76 | 77 | a:link, a:visited, a:hover, a:active { 78 | color: #2e8b74; 79 | padding-bottom: 1px; 80 | text-decoration: none; 81 | } 82 | 83 | .font-weight-600 { 84 | font-weight: 600; 85 | } 86 | 87 | .text-align-center { 88 | text-align: center; 89 | } 90 | 91 | /*==== MOBILE: Menu ====*/ 92 | 93 | nav ul { 94 | margin: 0; 95 | padding: 0; 96 | } 97 | 98 | nav a:link, nav a:visited, nav a:hover, nav a:active { 99 | border-top: 1px solid #424957; 100 | color: #b3b5b7; 101 | display: block; 102 | font-family: 'Open Sans', Arial, sans-serif; 103 | font-size: 11px; 104 | font-weight: 600; 105 | letter-spacing: 1px; 106 | padding: 12px 0; 107 | text-align: center; 108 | text-decoration: none; 109 | text-transform: uppercase; 110 | } 111 | 112 | nav ul a.is-selected { 113 | color: #00bc99; 114 | } 115 | 116 | nav a:hover { 117 | color: #fff; 118 | } 119 | 120 | 121 | /*==== MOBILE: Main ====*/ 122 | 123 | .header-container { 124 | background: #21252c url('../img/bg-color-bar.png') left top repeat-x; 125 | padding-top: 3px; 126 | } 127 | 128 | .title { 129 | background: transparent url('../img/logo-iiif-34x30.png') center 8px no-repeat; 130 | display: block; 131 | font-size: 0; 132 | height: 40px; 133 | margin: 0 auto; 134 | padding-bottom: 4px; 135 | width: 34px; 136 | } 137 | 138 | .text-align-right { 139 | text-align: right; 140 | } 141 | 142 | .text-align-left { 143 | text-align: left; 144 | } 145 | 146 | a.button-turquoise { 147 | background-color: #00bc99; 148 | border: 0; 149 | border-bottom: 3px solid #2e8b74 !important; 150 | border-radius: 4px; 151 | color: #fff; 152 | display: block; 153 | clear: left; 154 | font-family: 'Open Sans', Arial, sans-serif; 155 | font-size: 12px; 156 | font-weight: 400; 157 | letter-spacing: 1px; 158 | margin-top: 10px; 159 | padding: 8px 16px; 160 | } 161 | 162 | /* Home page */ 163 | 164 | .main-blurb { 165 | background-color: #2f353e; 166 | color: #979A9E; 167 | padding: 30px 0; 168 | text-align: center; 169 | } 170 | 171 | .main-blurb h1 { 172 | font-family: 'Raleway', Arial, sans-serif; 173 | font-weight: 100; 174 | color: #fff; 175 | font-size: 22px; 176 | letter-spacing: 2px; 177 | line-height: 1.5; 178 | margin: 0.3em 0; 179 | word-wrap: break-word; 180 | } 181 | 182 | .main-blurb p { 183 | font-family: 'Open Sans', Arial, sans-serif; 184 | font-size: 15px; 185 | font-weight: 500; 186 | letter-spacing: 1px; 187 | line-height: 1.8; 188 | word-spacing: 1px; 189 | } 190 | 191 | .iiif-demo { 192 | border-top: 1px solid #E9EAEC; 193 | padding: 40px 0; 194 | } 195 | 196 | .iiif-demo .try-it { 197 | background-color: #fff; 198 | overflow: auto; 199 | } 200 | 201 | .iiif-demo .try-it h2 { 202 | color: #444c5a; 203 | } 204 | 205 | .iiif-demo .try-it .label { 206 | color: #6d7180; 207 | font-weight: 300; 208 | margin-bottom: 20px; 209 | } 210 | 211 | .iiif-demo .try-it .iiif-url { 212 | background-color: #fff; 213 | font-family: 'Inconsolata', sans-serif; 214 | word-wrap: break-word; 215 | } 216 | 217 | .iiif-demo .try-it .iiif-url { 218 | list-style: none; 219 | padding: 0; 220 | } 221 | 222 | .iiif-demo .try-it .iiif-url li { 223 | float: left; 224 | } 225 | 226 | .try-it .iiif-url .param-label, .try-it .iiif-url .param-label-none { 227 | color: #9496A4; 228 | font-size: 10px; 229 | line-height: 1.4; 230 | margin-bottom: 2px; 231 | text-align: center; 232 | } 233 | 234 | .try-it .iiif-url .param-value { 235 | border-top: 1px solid #d9d9d9; 236 | border-right: 1px solid #fff; 237 | border-left: 1px solid #fff; 238 | border-radius: 12px; 239 | padding-top: 7px; 240 | } 241 | 242 | .try-it .iiif-url .param-value-none { 243 | padding-top: 7px; 244 | } 245 | 246 | .try-it .iiif-url .param-label-none { 247 | border: 0; 248 | } 249 | 250 | .iiif-demo .try-it .iiif-url select { 251 | background: #00bc99 url(../img/icon-select-arrow.png) right center no-repeat; 252 | border: 0px solid #ccc; 253 | border-radius: 3px; 254 | color: #fff; 255 | cursor: pointer; 256 | font-family: 'Inconsolata', sans-serif; 257 | margin: 0 2px; 258 | padding: 4px 25px 4px 8px; 259 | text-indent: 0.01px; /* Removes default arrow from firefox*/ 260 | text-overflow: ""; /*Removes default arrow from firefox*/ 261 | -moz-appearance: none; /* Removes Default Firefox style*/ 262 | -webkit-appearance: none; 263 | } 264 | 265 | .iiif-demo .try-it .iiif-url select option { 266 | font-family: 'Inconsolata', sans-serif; 267 | } 268 | 269 | .iiif-demo .iiif-image-container { 270 | background: #fff url(../img/ajax-loader.gif) 10px 10px no-repeat; 271 | height: 450px; 272 | margin: 20px 0 0 0; 273 | overflow: auto; 274 | } 275 | 276 | .main-interactive-img-info { 277 | color: #9496A4; 278 | font-size: 13px; 279 | } 280 | 281 | .main-highlight-blurbs { 282 | background-color: #F7F7F8; 283 | overflow: auto; 284 | padding: 40px 0; 285 | } 286 | 287 | .main-highlight-blurbs .highlight { 288 | background-position: center top; 289 | background-repeat: no-repeat; 290 | /*color: #979A9E;*/ 291 | color: #444C5A; 292 | font-family: 'Open Sans', Arial, sans-serif; 293 | font-size: 14px; 294 | padding: 80px 5% 5px 5%; 295 | width: 90%; 296 | text-align: center; 297 | } 298 | 299 | .main-highlight-blurbs .highlight h2, .try-it h2 { 300 | color: #2e8b74; 301 | font-family: 'Raleway', Arial, sans-serif; 302 | font-size: 22px; 303 | font-weight: 300; 304 | letter-spacing: 1px; 305 | margin: 0; 306 | text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.3); 307 | } 308 | 309 | .main-highlight-blurbs .highlight p { 310 | line-height: 2; 311 | margin: 20px 0; 312 | } 313 | 314 | .main-highlight-blurbs .plug-n-play { 315 | background-image: url('../img/icon-plug-n-play-60x60.png'); 316 | } 317 | 318 | .main-highlight-blurbs .defined-apis { 319 | background-image: url('../img/icon-defined-apis-60x60.png'); 320 | } 321 | 322 | .main-highlight-blurbs .community-driven { 323 | background-image: url('../img/icon-community-driven-60x60.png'); 324 | } 325 | 326 | .main aside { 327 | color: white; 328 | padding: 0px 5% 10px; 329 | } 330 | 331 | /*==== MOBILE: Sub pages : Common styles ====*/ 332 | 333 | .sub-pages-container a:link, 334 | .sub-pages-container a:visited, 335 | .sub-pages-container a:hover, 336 | .sub-pages-container a:active { 337 | border-bottom: 1px dotted #2e8b74; 338 | } 339 | 340 | .sub-pages-container article section { 341 | margin-bottom: 4em; 342 | } 343 | 344 | .sub-pages-container article header { 345 | border-bottom: 1px solid #dbdde0; 346 | margin-bottom: 1.5em; 347 | overflow: auto; 348 | } 349 | 350 | .sub-pages-container article h1 { 351 | color: #2f353e; 352 | font-family: 'Raleway', Arial, sans-serif; 353 | font-weight: 300; 354 | font-size: 25px; 355 | letter-spacing: 2px; 356 | line-height: 1.5; 357 | margin: 0.5em 0; 358 | } 359 | 360 | .sub-pages-container article ul, .sub-pages-container article ul { 361 | list-style-type: circle; 362 | } 363 | 364 | .sub-pages-container article ul li, .sub-pages-container article ol li { 365 | padding: 3px 0 3px 8px; 366 | } 367 | 368 | .sub-pages-container article .step-box { 369 | background-color: #ed2534; 370 | border-radius: 4px; 371 | color: #fff; 372 | font-size: 15px; 373 | font-weight: 400; 374 | padding: 8px 16px; 375 | } 376 | 377 | .sub-pages-container h2, 378 | .sub-pages-container h3, 379 | .sub-pages-container h4 { 380 | color: #2f353e; 381 | font-family: 'Raleway', Arial, sans-serif; 382 | font-size: 18px; 383 | font-weight: 300; 384 | letter-spacing: 1px; 385 | margin: 0 0 10px 0; 386 | } 387 | 388 | .sub-pages-container h3 { 389 | font-size: 17px; 390 | } 391 | 392 | .sub-pages-container h4 { 393 | font-size: 15px; 394 | } 395 | 396 | .sub-pages-container section.step h2 { 397 | display: inline; 398 | margin-bottom: 5px; 399 | } 400 | 401 | .sub-pages-container section .question { 402 | color: #7f899f; 403 | font-family: 'Open Sans', Arial, sans-serif; 404 | font-size: 15px; 405 | font-weight: 300; 406 | font-style: italic; 407 | padding-top: 6px; 408 | } 409 | 410 | .sub-pages-container section dt { 411 | margin-bottom: 10px; 412 | } 413 | 414 | .sub-pages-container section dd { 415 | margin-bottom: 20px; 416 | } 417 | 418 | .sub-pages-container section.image-viewers ul, 419 | .sub-pages-container section.image-servers ul, 420 | .sub-pages-container section.impl-demos ul { 421 | padding-left: 40px; 422 | } 423 | 424 | 425 | /* Sub pages : Individual styles */ 426 | 427 | .sub-pages-container .technical-details article header { 428 | margin-bottom: 0; 429 | } 430 | 431 | .sub-pages-container .technical-details .section-quick-links { 432 | background-color: #F7F7F8; 433 | border-bottom: 1px solid #dbdde0; 434 | overflow: auto; 435 | /*padding-bottom: 30px;*/ 436 | padding: 30px 0 32px 0; 437 | text-align: center; 438 | } 439 | 440 | .sub-pages-container .technical-details a.button-turquoise { 441 | margin-left: 20px; 442 | margin-right: 20px; 443 | } 444 | 445 | .sub-pages-container .community .participants ul { 446 | padding-left: 40px; 447 | } 448 | 449 | .sub-pages-container .community .get-involved dl dd { 450 | margin-left: 20px; 451 | } 452 | 453 | .sub-pages-container .image-api { 454 | color: #222; 455 | } 456 | 457 | .sub-pages-container .image-api .names { 458 | list-style-type: none; 459 | margin: 1em 0 0 0; 460 | padding-left: 20px; 461 | } 462 | 463 | .sub-pages-container .image-api .names li { 464 | line-height: 1.1; 465 | padding-left: 0; 466 | } 467 | 468 | .sub-pages-container .toc ol { 469 | counter-reset: item; 470 | margin: 0; 471 | padding-left: 10px; 472 | } 473 | 474 | .sub-pages-container .toc ol ol { 475 | padding-left: 25px; 476 | } 477 | 478 | .sub-pages-container .toc li { 479 | display: inline-block; 480 | width: 92%; 481 | } 482 | 483 | .sub-pages-container .toc li:before { 484 | content: counters(item, ".") ". "; 485 | counter-increment: item; 486 | } 487 | 488 | .sub-pages-container table { 489 | margin: 25px 0; 490 | } 491 | 492 | .sub-pages-container .image-api-table tr { 493 | border-top: 1px solid #2e8b74; 494 | border-bottom: 1px solid #2e8b74; 495 | font-size: 13px; 496 | } 497 | 498 | .sub-pages-container .image-api-table th { 499 | background-color: #2e8b74; 500 | color: #fff; 501 | font-weight: normal; 502 | padding: 8px 15px; 503 | text-align: left; 504 | vertical-align: middle; 505 | white-space: normal; 506 | } 507 | 508 | .sub-pages-container .md-requirements .image-api-table th { 509 | border-right: 1px solid #fff; 510 | text-align: center; 511 | padding: 8px 5px; 512 | } 513 | 514 | .sub-pages-container .md-requirements .image-api-table td { 515 | padding: 8px 5px; 516 | } 517 | 518 | .sub-pages-container .md-requirements .legend { 519 | list-style-type: none; 520 | line-height: 20px; 521 | padding-left: 0; 522 | } 523 | 524 | .sub-pages-container .md-requirements .legend .req { 525 | float: left; 526 | margin-right: 20px; 527 | } 528 | 529 | .sub-pages-container .image-api-table td:first-child { 530 | font-family: monospace; 531 | /*text-align: center;*/ 532 | } 533 | 534 | .sub-pages-container .image-api-table td { 535 | padding: 8px 15px; 536 | vertical-align: middle; 537 | word-wrap: break-word; 538 | white-space: -pre-wrap; /* Opera 4-6 */ 539 | white-space: -o-pre-wrap; /* Opera 7 */ 540 | white-space: -moz-pre-wrap; /* Mozilla */ 541 | white-space: -hp-pre-wrap; /* HP Printers */ 542 | } 543 | 544 | .sub-pages-container .url-encoding-and-decoding .image-api-table td { 545 | word-break: break-all; 546 | } 547 | 548 | .sub-pages-container .example-urls { 549 | font-family: monospace; 550 | font-size: 13px; 551 | list-style-type: none; 552 | margin-bottom: 25px; 553 | padding-left: 0; 554 | } 555 | 556 | .sub-pages-container .example-urls li { 557 | padding: 2px 0; 558 | word-break: break-all; 559 | } 560 | 561 | .sub-pages-container .container-figure { 562 | text-align: left; 563 | } 564 | 565 | .sub-pages-container .container-figure .figure-label { 566 | color: #999; 567 | font-size: 13px; 568 | font-style: italic; 569 | } 570 | 571 | .figure-image-api-region { 572 | background-image: url('/api/image/1.1/img/iiif-region.png'); 573 | } 574 | 575 | .figure-image-api-size { 576 | background-image: url('/api/image/1.1/img/iiif-size.png'); 577 | } 578 | 579 | .figure-image-api-rotation { 580 | background-image: url('/api/image/1.1/img/iiif-rotation.png'); 581 | } 582 | 583 | .figure-image-api-quality { 584 | background-image: url('/api/image/1.1/img/iiif-quality.png'); 585 | } 586 | 587 | .figure-presentation-api-objects { 588 | height: 350px; 589 | width: 117px; 590 | } 591 | 592 | .figure-presentation-api-objects-md { 593 | height: 400px; 594 | width: 428px; 595 | } 596 | 597 | .figure-presentation-api-objects-all { 598 | height: 500px; 599 | width: 702px; 600 | } 601 | 602 | .sub-pages-container section.showcase .isotope-item { 603 | box-sizing: border-box; 604 | float: left; 605 | height: 360px; 606 | /* padding: 15px; */ 607 | margin: 0 15px 15px 0; 608 | position: relative; 609 | width: 300px; 610 | -moz-box-sizing: border-box; 611 | -webkit-box-sizing: border-box; 612 | } 613 | 614 | .sub-pages-container section.showcase .isotope-item p { 615 | padding: 0 15px; 616 | } 617 | 618 | .sub-pages-container section.showcase .isotope-item img { 619 | width: 100%; 620 | } 621 | 622 | .sub-pages-container section.showcase iframe, 623 | .sub-pages-container section.showcase #iiif-demo { 624 | width: 100%; 625 | height: 500px; 626 | } 627 | 628 | .sub-pages-container section.showcase #iiif-demo { 629 | border: 1px solid #ccc; 630 | } 631 | 632 | /* flip animation */ 633 | .sub-pages-container section.showcase .isotope-item { 634 | -webkit-perspective: 1000; 635 | -moz-perspective: 1000; 636 | -ms-perspective: 1000; 637 | perspective: 1000; 638 | } 639 | 640 | .isotope-item:hover .flipper, .isotope-item.hover .flipper { 641 | -webkit-transform: rotateY(180deg); 642 | -moz-transform: rotateY(180deg); 643 | -ms-transform: rotateY(180deg); 644 | transform: rotateY(180deg); 645 | filter: FlipH; 646 | -ms-filter: "FlipH"; 647 | } 648 | 649 | .isotope-item .flipper { 650 | -webkit-transition: 0.6s; 651 | -webkit-transform-style: preserve-3d; 652 | -ms-transition: 0.6s; 653 | -moz-transition: 0.6s; 654 | -moz-transform: perspective(1000px); 655 | -moz-transform-style: preserve-3d; 656 | -ms-transform-style: preserve-3d; 657 | transition: 0.6s; 658 | transform-style: preserve-3d; 659 | position: relative; 660 | } 661 | 662 | /* hide back of pane during swap */ 663 | .isotope-item .front, 664 | .isotope-item .back { 665 | background-color: #eee; 666 | border: 1px solid #e6e6e6; 667 | height: 360px; 668 | 669 | -webkit-backface-visibility: hidden; 670 | -moz-backface-visibility: hidden; 671 | -ms-backface-visibility: hidden; 672 | backface-visibility: hidden; 673 | 674 | -webkit-transition: 0.6s; 675 | -webkit-transform-style: preserve-3d; 676 | -webkit-transform: rotateY(0deg); 677 | 678 | -moz-transition: 0.6s; 679 | -moz-transform-style: preserve-3d; 680 | -moz-transform: rotateY(0deg); 681 | 682 | -o-transition: 0.6s; 683 | -o-transform-style: preserve-3d; 684 | -o-transform: rotateY(0deg); 685 | 686 | -ms-transition: 0.6s; 687 | -ms-transform-style: preserve-3d; 688 | -ms-transform: rotateY(0deg); 689 | 690 | transition: 0.6s; 691 | transform-style: preserve-3d; 692 | transform: rotateY(0deg); 693 | 694 | position: absolute; 695 | top: 0; 696 | left: 0; 697 | } 698 | 699 | .isotope-item .front { 700 | -webkit-transform: rotateY(0deg); 701 | -ms-transform: rotateY(0deg); 702 | z-index: 2; 703 | } 704 | 705 | .isotope-item .back { 706 | -webkit-transform: rotateY(-180deg); 707 | -moz-transform: rotateY(-180deg); 708 | -o-transform: rotateY(-180deg); 709 | -ms-transform: rotateY(-180deg); 710 | transform: rotateY(-180deg); 711 | padding: 0 15px; 712 | } 713 | 714 | .isotope-item .back .desc { 715 | font-size: 13px; 716 | } 717 | 718 | .isotope-item .back p { 719 | position: relative; 720 | } 721 | 722 | section.showcase a.button-turquoise { 723 | font-size: 12px; 724 | margin: 10px 0; 725 | padding: 6px 12px; 726 | text-align: center; 727 | } 728 | 729 | section.showcase-item a.button-turquoise { 730 | display: inline; 731 | } 732 | 733 | .to-toc { 734 | float: right; 735 | height: 25px; 736 | padding-left: 20px; 737 | width: 25px; 738 | } 739 | 740 | .monospace { 741 | font-family: monospace; 742 | } 743 | 744 | .left-indent { 745 | text-indent: 20px; 746 | } 747 | 748 | .visibility-hidden { 749 | visibility: hidden; 750 | } 751 | 752 | .code-block { 753 | background-color: #e0efef; 754 | border: 1px solid #c0d3d3; 755 | border-radius: 3px; 756 | display: inline-block; 757 | font-family: monospace; 758 | font-size: 13px; 759 | line-height: 1.6; 760 | margin: 0; 761 | padding: 4px 12px; 762 | word-break: break-all; 763 | } 764 | 765 | .multi-line-code { 766 | white-space: pre; 767 | white-space: pre-wrap; 768 | word-wrap: break-word; 769 | } 770 | 771 | .numbered-box { 772 | background-color: #eb2026; 773 | border-radius: 3px; 774 | color: #fff; 775 | padding: 4px 6px 3px 6px; 776 | } 777 | 778 | .highlight { 779 | color: #eb2026; 780 | } 781 | 782 | .req { 783 | background: transparent url('/img/metadata-api/icons-metadata-requirements.png') left top no-repeat; 784 | height: 20px; 785 | margin: 0 auto; 786 | width: 20px; 787 | } 788 | 789 | .mandatory { 790 | background-position: 0 0; 791 | } 792 | 793 | .recommended { 794 | background-position: -20px 0; 795 | } 796 | 797 | .optional { 798 | background-position: 0 -20px; 799 | } 800 | 801 | .not-applicable { 802 | background-position: -20px -20px; 803 | } 804 | 805 | .sub-rh { 806 | background-color:#DCF4EE; 807 | font-weight: bold; 808 | } 809 | 810 | .compliance-tick { 811 | color: #2E8B74; 812 | text-align: center; 813 | } 814 | 815 | /* Footer */ 816 | 817 | .footer-container { 818 | border-top: 1px solid #dbdde0; 819 | font-size: x-small; 820 | padding: 20px 0; 821 | } 822 | 823 | .footer-container .footer-column { 824 | color: #979a9e; 825 | font-size: 10px; 826 | margin-bottom: 15px; 827 | text-align: center; 828 | } 829 | 830 | .footer-container .footer-column h4 { 831 | margin: 5px 0; 832 | } 833 | 834 | .footer-container .footer-column ul { 835 | line-height: 1.6; 836 | list-style: none; 837 | margin: 0; 838 | padding: 0; 839 | } 840 | 841 | /* =============== 842 | ALL: IE Fixes 843 | ================== */ 844 | 845 | .ie7 .title { 846 | padding-top: 20px; 847 | } 848 | 849 | 850 | /* ========================================================================== 851 | Media Queries 852 | ============================================================================= */ 853 | 854 | @media only screen and (min-width: 480px) { 855 | 856 | /* ==================== 857 | INTERMEDIATE: Menu 858 | ==================== */ 859 | 860 | .title { 861 | margin: 0 0 5px 0; 862 | } 863 | 864 | nav { 865 | border-top: 1px solid #424957; 866 | } 867 | 868 | nav a:link, nav a:visited, nav a:hover, nav a:active { 869 | border-top: 0; 870 | display: inline-block; 871 | padding: 12px 3% 12px 0; 872 | margin-bottom: 0; 873 | } 874 | 875 | nav li:first-child a { 876 | margin-left: 0; 877 | } 878 | 879 | nav li:last-child a { 880 | margin-right: 0; 881 | padding-right: 0; 882 | } 883 | 884 | .main-blurb h1 { 885 | font-size: 32px; 886 | } 887 | 888 | .main-blurb p { 889 | font-size: 17px; 890 | } 891 | 892 | a.button-turquoise { 893 | font-size: 15px; 894 | padding: 12px 24px; 895 | } 896 | 897 | .main-blurb .buttons { 898 | padding: 15px 0 10px 0; 899 | } 900 | 901 | .main-blurb a.button-turquoise { 902 | margin: 10px; 903 | display: inline; 904 | clear: none; 905 | } 906 | 907 | .sub-pages-container article .step-box { 908 | background-color: #ed2534; 909 | /*border: 2px solid #ed2534;*/ 910 | border-radius: 4px; 911 | color: #fff; 912 | font-size: 14px; 913 | font-weight: 600; 914 | padding: 8px 16px; 915 | } 916 | 917 | .sub-pages-container .container-figure { 918 | text-align: center; 919 | } 920 | 921 | /* ======================== 922 | INTERMEDIATE: IE Fixes 923 | ======================== */ 924 | 925 | nav ul li { 926 | display: inline; 927 | } 928 | 929 | .oldie nav a { 930 | margin: 0 0.7%; 931 | } 932 | } 933 | 934 | @media only screen and (min-width: 768px) { 935 | 936 | /* ============ 937 | WIDE: Menu 938 | ============ */ 939 | 940 | .title { 941 | float: left; 942 | margin: 0 0 5px 0; 943 | width: 34px; 944 | } 945 | 946 | nav { 947 | float: right; 948 | text-align: right; 949 | width: 70%; 950 | } 951 | 952 | nav a:link, nav a:visited, nav a:hover, nav a:active { 953 | padding: 12px 0 12px 4%; 954 | margin-bottom: 0; 955 | } 956 | 957 | /* ============ 958 | WIDE: Main 959 | ============ */ 960 | 961 | .main aside { 962 | float: right; 963 | width: 28%; 964 | } 965 | 966 | .main-highlight-blurbs .highlight { 967 | float: left; 968 | width: 23%; 969 | } 970 | 971 | a.button-turquoise { 972 | margin: 10px; 973 | display: inline; 974 | clear: none; 975 | } 976 | 977 | .sub-pages-container article { 978 | float: left; 979 | min-height: 400px; 980 | width: 100%; 981 | } 982 | 983 | .sub-pages-container h2 { 984 | font-size: 20px; 985 | } 986 | 987 | .sub-pages-container h3 { 988 | font-size: 18px; 989 | } 990 | 991 | .sub-pages-container section.about-content, 992 | .sub-pages-container section.quick-start, 993 | .sub-pages-container section.step-1, 994 | .sub-pages-container section.step-2, 995 | .sub-pages-container section.step-3, 996 | .sub-pages-container section.tips-n-tricks, 997 | .sub-pages-container section.image-viewers, 998 | .sub-pages-container section.image-servers, 999 | .sub-pages-container section.impl-demos, 1000 | .sub-pages-container section.get-involved, 1001 | .sub-pages-container section.participants, 1002 | .sub-pages-container section.showcase { 1003 | box-sizing: border-box; 1004 | padding-left: 110px; 1005 | -moz-box-sizing: border-box; 1006 | -webkit-box-sizing: border-box; 1007 | } 1008 | .sub-pages-container section.about-content { background: transparent url(../img/text-bg-about.png) left top no-repeat; } 1009 | .sub-pages-container section.quick-start { background: transparent url(../img/text-bg-quick-start.png) left top no-repeat; } 1010 | .sub-pages-container section.step-1 { background: transparent url(../img/text-bg-step-1.png) 10px top no-repeat; } 1011 | .sub-pages-container section.step-2 { background: transparent url(../img/text-bg-step-2.png) 10px top no-repeat; } 1012 | .sub-pages-container section.step-3 { background: transparent url(../img/text-bg-step-3.png) 10px top no-repeat; } 1013 | .sub-pages-container section.tips-n-tricks { background: transparent url(../img/text-bg-tips-n-tricks.png) left top no-repeat; } 1014 | .sub-pages-container section.image-viewers { background: transparent url(../img/text-bg-img-viewers.png) left top no-repeat; } 1015 | .sub-pages-container section.image-servers { background: transparent url(../img/text-bg-img-servers.png) left top no-repeat; } 1016 | .sub-pages-container section.impl-demos { background: transparent url(../img/text-bg-impl-demos.png) left top no-repeat; } 1017 | .sub-pages-container section.get-involved { background: transparent url(../img/text-bg-get-involved.png) left top no-repeat; } 1018 | .sub-pages-container section.participants { background: transparent url(../img/text-bg-participants.png) left top no-repeat; } 1019 | 1020 | .sub-pages-container .image-api-table th { 1021 | white-space: nowrap; 1022 | } 1023 | 1024 | .sub-pages-container section.showcase { 1025 | padding-left: 0; 1026 | } 1027 | 1028 | .code-block { 1029 | margin: 0 0 0 20px; 1030 | } 1031 | 1032 | .footer-container .footer-column { 1033 | float: left; 1034 | width: 50%; 1035 | } 1036 | 1037 | } 1038 | 1039 | @media only screen and (min-width: 1140px) { 1040 | 1041 | /* =============== 1042 | Maximal Width 1043 | =============== */ 1044 | 1045 | .wrapper { 1046 | width: 1026px; /* 1140px - 10% for margins */ 1047 | margin: 0 auto; 1048 | } 1049 | 1050 | .footer-container .footer-column { 1051 | float: left; 1052 | width: 25%; 1053 | } 1054 | } 1055 | 1056 | /* ========================================================================== 1057 | Helper classes 1058 | ========================================================================== */ 1059 | 1060 | .ir { 1061 | background-color: transparent; 1062 | border: 0; 1063 | overflow: hidden; 1064 | *text-indent: -9999px; 1065 | } 1066 | 1067 | .ir:before { 1068 | content: ""; 1069 | display: block; 1070 | width: 0; 1071 | height: 150%; 1072 | } 1073 | 1074 | .hidden { 1075 | display: none !important; 1076 | visibility: hidden; 1077 | } 1078 | 1079 | .visuallyhidden { 1080 | border: 0; 1081 | clip: rect(0 0 0 0); 1082 | height: 1px; 1083 | margin: -1px; 1084 | overflow: hidden; 1085 | padding: 0; 1086 | position: absolute; 1087 | width: 1px; 1088 | } 1089 | 1090 | .visuallyhidden.focusable:active, 1091 | .visuallyhidden.focusable:focus { 1092 | clip: auto; 1093 | height: auto; 1094 | margin: 0; 1095 | overflow: visible; 1096 | position: static; 1097 | width: auto; 1098 | } 1099 | 1100 | .invisible { 1101 | visibility: hidden; 1102 | } 1103 | 1104 | .clearfix:before, 1105 | .clearfix:after { 1106 | content: " "; 1107 | display: table; 1108 | } 1109 | 1110 | .clearfix:after { 1111 | clear: both; 1112 | } 1113 | 1114 | .clearfix { 1115 | *zoom: 1; 1116 | } 1117 | 1118 | /* ========================================================================== 1119 | Print styles 1120 | ========================================================================== */ 1121 | 1122 | @media print { 1123 | * { 1124 | background: transparent !important; 1125 | color: #000 !important; /* Black prints faster: h5bp.com/s */ 1126 | box-shadow: none !important; 1127 | text-shadow: none !important; 1128 | } 1129 | 1130 | a, 1131 | a:visited { 1132 | text-decoration: underline; 1133 | } 1134 | 1135 | a[href]:after { 1136 | content: " (" attr(href) ")"; 1137 | } 1138 | 1139 | abbr[title]:after { 1140 | content: " (" attr(title) ")"; 1141 | } 1142 | 1143 | /* 1144 | * Don't show links for images, or javascript/internal links 1145 | */ 1146 | 1147 | .ir a:after, 1148 | a[href^="javascript:"]:after, 1149 | a[href^="#"]:after { 1150 | content: ""; 1151 | } 1152 | 1153 | pre, 1154 | blockquote { 1155 | border: 1px solid #999; 1156 | page-break-inside: avoid; 1157 | } 1158 | 1159 | thead { 1160 | display: table-header-group; /* h5bp.com/t */ 1161 | } 1162 | 1163 | tr, 1164 | img { 1165 | page-break-inside: avoid; 1166 | } 1167 | 1168 | img { 1169 | max-width: 100% !important; 1170 | } 1171 | 1172 | @page { 1173 | margin: 0.5cm; 1174 | } 1175 | 1176 | p, 1177 | h2, 1178 | h3 { 1179 | orphans: 3; 1180 | widows: 3; 1181 | } 1182 | 1183 | h2, 1184 | h3 { 1185 | page-break-after: avoid; 1186 | } 1187 | } 1188 | 1189 | // Post styles 1190 | .short-post-title { 1191 | .post-date { 1192 | font-size: smaller; 1193 | } 1194 | } 1195 | .post { 1196 | .meta { 1197 | p { 1198 | line-height: 1.1; 1199 | margin-top: 5px; 1200 | margin-bottom: 5px 1201 | } 1202 | } 1203 | dd { 1204 | ul { 1205 | margin: 0; 1206 | padding:0; 1207 | } 1208 | } 1209 | } 1210 | -------------------------------------------------------------------------------- /source/js/vendor/isotope.pkgd.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Isotope PACKAGED v2.0.1 3 | * Filter & sort magical layouts 4 | * http://isotope.metafizzy.co 5 | */ 6 | 7 | (function(t){function e(){}function i(t){function i(e){e.prototype.option||(e.prototype.option=function(e){t.isPlainObject(e)&&(this.options=t.extend(!0,this.options,e))})}function n(e,i){t.fn[e]=function(n){if("string"==typeof n){for(var s=o.call(arguments,1),a=0,u=this.length;u>a;a++){var p=this[a],h=t.data(p,e);if(h)if(t.isFunction(h[n])&&"_"!==n.charAt(0)){var f=h[n].apply(h,s);if(void 0!==f)return f}else r("no such method '"+n+"' for "+e+" instance");else r("cannot call methods on "+e+" prior to initialization; "+"attempted to call '"+n+"'")}return this}return this.each(function(){var o=t.data(this,e);o?(o.option(n),o._init()):(o=new i(this,n),t.data(this,e,o))})}}if(t){var r="undefined"==typeof console?e:function(t){console.error(t)};return t.bridget=function(t,e){i(e),n(t,e)},t.bridget}}var o=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],i):i(t.jQuery)})(window),function(t){function e(e){var i=t.event;return i.target=i.target||i.srcElement||e,i}var i=document.documentElement,o=function(){};i.addEventListener?o=function(t,e,i){t.addEventListener(e,i,!1)}:i.attachEvent&&(o=function(t,i,o){t[i+o]=o.handleEvent?function(){var i=e(t);o.handleEvent.call(o,i)}:function(){var i=e(t);o.call(t,i)},t.attachEvent("on"+i,t[i+o])});var n=function(){};i.removeEventListener?n=function(t,e,i){t.removeEventListener(e,i,!1)}:i.detachEvent&&(n=function(t,e,i){t.detachEvent("on"+e,t[e+i]);try{delete t[e+i]}catch(o){t[e+i]=void 0}});var r={bind:o,unbind:n};"function"==typeof define&&define.amd?define("eventie/eventie",r):"object"==typeof exports?module.exports=r:t.eventie=r}(this),function(t){function e(t){"function"==typeof t&&(e.isReady?t():r.push(t))}function i(t){var i="readystatechange"===t.type&&"complete"!==n.readyState;if(!e.isReady&&!i){e.isReady=!0;for(var o=0,s=r.length;s>o;o++){var a=r[o];a()}}}function o(o){return o.bind(n,"DOMContentLoaded",i),o.bind(n,"readystatechange",i),o.bind(t,"load",i),e}var n=t.document,r=[];e.isReady=!1,"function"==typeof define&&define.amd?(e.isReady="function"==typeof requirejs,define("doc-ready/doc-ready",["eventie/eventie"],o)):t.docReady=o(t.eventie)}(this),function(){function t(){}function e(t,e){for(var i=t.length;i--;)if(t[i].listener===e)return i;return-1}function i(t){return function(){return this[t].apply(this,arguments)}}var o=t.prototype,n=this,r=n.EventEmitter;o.getListeners=function(t){var e,i,o=this._getEvents();if(t instanceof RegExp){e={};for(i in o)o.hasOwnProperty(i)&&t.test(i)&&(e[i]=o[i])}else e=o[t]||(o[t]=[]);return e},o.flattenListeners=function(t){var e,i=[];for(e=0;t.length>e;e+=1)i.push(t[e].listener);return i},o.getListenersAsObject=function(t){var e,i=this.getListeners(t);return i instanceof Array&&(e={},e[t]=i),e||i},o.addListener=function(t,i){var o,n=this.getListenersAsObject(t),r="object"==typeof i;for(o in n)n.hasOwnProperty(o)&&-1===e(n[o],i)&&n[o].push(r?i:{listener:i,once:!1});return this},o.on=i("addListener"),o.addOnceListener=function(t,e){return this.addListener(t,{listener:e,once:!0})},o.once=i("addOnceListener"),o.defineEvent=function(t){return this.getListeners(t),this},o.defineEvents=function(t){for(var e=0;t.length>e;e+=1)this.defineEvent(t[e]);return this},o.removeListener=function(t,i){var o,n,r=this.getListenersAsObject(t);for(n in r)r.hasOwnProperty(n)&&(o=e(r[n],i),-1!==o&&r[n].splice(o,1));return this},o.off=i("removeListener"),o.addListeners=function(t,e){return this.manipulateListeners(!1,t,e)},o.removeListeners=function(t,e){return this.manipulateListeners(!0,t,e)},o.manipulateListeners=function(t,e,i){var o,n,r=t?this.removeListener:this.addListener,s=t?this.removeListeners:this.addListeners;if("object"!=typeof e||e instanceof RegExp)for(o=i.length;o--;)r.call(this,e,i[o]);else for(o in e)e.hasOwnProperty(o)&&(n=e[o])&&("function"==typeof n?r.call(this,o,n):s.call(this,o,n));return this},o.removeEvent=function(t){var e,i=typeof t,o=this._getEvents();if("string"===i)delete o[t];else if(t instanceof RegExp)for(e in o)o.hasOwnProperty(e)&&t.test(e)&&delete o[e];else delete this._events;return this},o.removeAllListeners=i("removeEvent"),o.emitEvent=function(t,e){var i,o,n,r,s=this.getListenersAsObject(t);for(n in s)if(s.hasOwnProperty(n))for(o=s[n].length;o--;)i=s[n][o],i.once===!0&&this.removeListener(t,i.listener),r=i.listener.apply(this,e||[]),r===this._getOnceReturnValue()&&this.removeListener(t,i.listener);return this},o.trigger=i("emitEvent"),o.emit=function(t){var e=Array.prototype.slice.call(arguments,1);return this.emitEvent(t,e)},o.setOnceReturnValue=function(t){return this._onceReturnValue=t,this},o._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},o._getEvents=function(){return this._events||(this._events={})},t.noConflict=function(){return n.EventEmitter=r,t},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return t}):"object"==typeof module&&module.exports?module.exports=t:this.EventEmitter=t}.call(this),function(t){function e(t){if(t){if("string"==typeof o[t])return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e,n=0,r=i.length;r>n;n++)if(e=i[n]+t,"string"==typeof o[e])return e}}var i="Webkit Moz ms Ms O".split(" "),o=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return e}):"object"==typeof exports?module.exports=e:t.getStyleProperty=e}(window),function(t){function e(t){var e=parseFloat(t),i=-1===t.indexOf("%")&&!isNaN(e);return i&&e}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0,i=s.length;i>e;e++){var o=s[e];t[o]=0}return t}function o(t){function o(t){if("string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var o=r(t);if("none"===o.display)return i();var n={};n.width=t.offsetWidth,n.height=t.offsetHeight;for(var h=n.isBorderBox=!(!p||!o[p]||"border-box"!==o[p]),f=0,d=s.length;d>f;f++){var l=s[f],c=o[l];c=a(t,c);var y=parseFloat(c);n[l]=isNaN(y)?0:y}var m=n.paddingLeft+n.paddingRight,g=n.paddingTop+n.paddingBottom,v=n.marginLeft+n.marginRight,_=n.marginTop+n.marginBottom,I=n.borderLeftWidth+n.borderRightWidth,L=n.borderTopWidth+n.borderBottomWidth,z=h&&u,S=e(o.width);S!==!1&&(n.width=S+(z?0:m+I));var b=e(o.height);return b!==!1&&(n.height=b+(z?0:g+L)),n.innerWidth=n.width-(m+I),n.innerHeight=n.height-(g+L),n.outerWidth=n.width+v,n.outerHeight=n.height+_,n}}function a(t,e){if(n||-1===e.indexOf("%"))return e;var i=t.style,o=i.left,r=t.runtimeStyle,s=r&&r.left;return s&&(r.left=t.currentStyle.left),i.left=e,e=i.pixelLeft,i.left=o,s&&(r.left=s),e}var u,p=t("boxSizing");return function(){if(p){var t=document.createElement("div");t.style.width="200px",t.style.padding="1px 2px 3px 4px",t.style.borderStyle="solid",t.style.borderWidth="1px 2px 3px 4px",t.style[p]="border-box";var i=document.body||document.documentElement;i.appendChild(t);var o=r(t);u=200===e(o.width),i.removeChild(t)}}(),o}var n=t.getComputedStyle,r=n?function(t){return n(t,null)}:function(t){return t.currentStyle},s=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],o):"object"==typeof exports?module.exports=o(require("get-style-property")):t.getSize=o(t.getStyleProperty)}(window),function(t,e){function i(t,e){return t[a](e)}function o(t){if(!t.parentNode){var e=document.createDocumentFragment();e.appendChild(t)}}function n(t,e){o(t);for(var i=t.parentNode.querySelectorAll(e),n=0,r=i.length;r>n;n++)if(i[n]===t)return!0;return!1}function r(t,e){return o(t),i(t,e)}var s,a=function(){if(e.matchesSelector)return"matchesSelector";for(var t=["webkit","moz","ms","o"],i=0,o=t.length;o>i;i++){var n=t[i],r=n+"MatchesSelector";if(e[r])return r}}();if(a){var u=document.createElement("div"),p=i(u,"div");s=p?i:r}else s=n;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return s}):window.matchesSelector=s}(this,Element.prototype),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){for(var e in t)return!1;return e=null,!0}function o(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}function n(t,n,r){function a(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}var u=r("transition"),p=r("transform"),h=u&&p,f=!!r("perspective"),d={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[u],l=["transform","transition","transitionDuration","transitionProperty"],c=function(){for(var t={},e=0,i=l.length;i>e;e++){var o=l[e],n=r(o);n&&n!==o&&(t[o]=n)}return t}();e(a.prototype,t.prototype),a.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},a.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},a.prototype.getSize=function(){this.size=n(this.element)},a.prototype.css=function(t){var e=this.element.style;for(var i in t){var o=c[i]||i;e[o]=t[i]}},a.prototype.getPosition=function(){var t=s(this.element),e=this.layout.options,i=e.isOriginLeft,o=e.isOriginTop,n=parseInt(t[i?"left":"right"],10),r=parseInt(t[o?"top":"bottom"],10);n=isNaN(n)?0:n,r=isNaN(r)?0:r;var a=this.layout.size;n-=i?a.paddingLeft:a.paddingRight,r-=o?a.paddingTop:a.paddingBottom,this.position.x=n,this.position.y=r},a.prototype.layoutPosition=function(){var t=this.layout.size,e=this.layout.options,i={};e.isOriginLeft?(i.left=this.position.x+t.paddingLeft+"px",i.right=""):(i.right=this.position.x+t.paddingRight+"px",i.left=""),e.isOriginTop?(i.top=this.position.y+t.paddingTop+"px",i.bottom=""):(i.bottom=this.position.y+t.paddingBottom+"px",i.top=""),this.css(i),this.emitEvent("layout",[this])};var y=f?function(t,e){return"translate3d("+t+"px, "+e+"px, 0)"}:function(t,e){return"translate("+t+"px, "+e+"px)"};a.prototype._transitionTo=function(t,e){this.getPosition();var i=this.position.x,o=this.position.y,n=parseInt(t,10),r=parseInt(e,10),s=n===this.position.x&&r===this.position.y;if(this.setPosition(t,e),s&&!this.isTransitioning)return this.layoutPosition(),void 0;var a=t-i,u=e-o,p={},h=this.layout.options;a=h.isOriginLeft?a:-a,u=h.isOriginTop?u:-u,p.transform=y(a,u),this.transition({to:p,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},a.prototype.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},a.prototype.moveTo=h?a.prototype._transitionTo:a.prototype.goTo,a.prototype.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},a.prototype._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},a.prototype._transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return this._nonTransition(t),void 0;var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var o=this.element.offsetHeight;o=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var m=p&&o(p)+",opacity";a.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:m,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(d,this,!1))},a.prototype.transition=a.prototype[u?"_transition":"_nonTransition"],a.prototype.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},a.prototype.onotransitionend=function(t){this.ontransitionend(t)};var g={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};a.prototype.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,o=g[t.propertyName]||t.propertyName;if(delete e.ingProperties[o],i(e.ingProperties)&&this.disableTransition(),o in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[o]),o in e.onEnd){var n=e.onEnd[o];n.call(this),delete e.onEnd[o]}this.emitEvent("transitionEnd",[this])}},a.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(d,this,!1),this.isTransitioning=!1},a.prototype._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var v={transitionProperty:"",transitionDuration:""};return a.prototype.removeTransitionStyles=function(){this.css(v)},a.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.emitEvent("remove",[this])},a.prototype.remove=function(){if(!u||!parseFloat(this.layout.options.transitionDuration))return this.removeElem(),void 0;var t=this;this.on("transitionEnd",function(){return t.removeElem(),!0}),this.hide()},a.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options;this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0})},a.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options;this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:{opacity:function(){this.isHidden&&this.css({display:"none"})}}})},a.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},a}var r=t.getComputedStyle,s=r?function(t){return r(t,null)}:function(t){return t.currentStyle};"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property"],n):(t.Outlayer={},t.Outlayer.Item=n(t.EventEmitter,t.getSize,t.getStyleProperty))}(window),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){return"[object Array]"===f.call(t)}function o(t){var e=[];if(i(t))e=t;else if(t&&"number"==typeof t.length)for(var o=0,n=t.length;n>o;o++)e.push(t[o]);else e.push(t);return e}function n(t,e){var i=l(e,t);-1!==i&&e.splice(i,1)}function r(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()}function s(i,s,f,l,c,y){function m(t,i){if("string"==typeof t&&(t=a.querySelector(t)),!t||!d(t))return u&&u.error("Bad "+this.constructor.namespace+" element: "+t),void 0;this.element=t,this.options=e({},this.constructor.defaults),this.option(i);var o=++g;this.element.outlayerGUID=o,v[o]=this,this._create(),this.options.isInitLayout&&this.layout()}var g=0,v={};return m.namespace="outlayer",m.Item=y,m.defaults={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,isResizingContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},e(m.prototype,f.prototype),m.prototype.option=function(t){e(this.options,t)},m.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),e(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},m.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},m.prototype._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,o=[],n=0,r=e.length;r>n;n++){var s=e[n],a=new i(s,this);o.push(a)}return o},m.prototype._filterFindItemElements=function(t){t=o(t);for(var e=this.options.itemSelector,i=[],n=0,r=t.length;r>n;n++){var s=t[n];if(d(s))if(e){c(s,e)&&i.push(s);for(var a=s.querySelectorAll(e),u=0,p=a.length;p>u;u++)i.push(a[u])}else i.push(s)}return i},m.prototype.getItemElements=function(){for(var t=[],e=0,i=this.items.length;i>e;e++)t.push(this.items[e].element);return t},m.prototype.layout=function(){this._resetLayout(),this._manageStamps();var t=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,t),this._isLayoutInited=!0},m.prototype._init=m.prototype.layout,m.prototype._resetLayout=function(){this.getSize()},m.prototype.getSize=function(){this.size=l(this.element)},m.prototype._getMeasurement=function(t,e){var i,o=this.options[t];o?("string"==typeof o?i=this.element.querySelector(o):d(o)&&(i=o),this[t]=i?l(i)[e]:o):this[t]=0},m.prototype.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},m.prototype._getItemsForLayout=function(t){for(var e=[],i=0,o=t.length;o>i;i++){var n=t[i];n.isIgnored||e.push(n)}return e},m.prototype._layoutItems=function(t,e){function i(){o.emitEvent("layoutComplete",[o,t])}var o=this;if(!t||!t.length)return i(),void 0;this._itemsOn(t,"layout",i);for(var n=[],r=0,s=t.length;s>r;r++){var a=t[r],u=this._getItemLayoutPosition(a);u.item=a,u.isInstant=e||a.isLayoutInstant,n.push(u)}this._processLayoutQueue(n)},m.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},m.prototype._processLayoutQueue=function(t){for(var e=0,i=t.length;i>e;e++){var o=t[e];this._positionItem(o.item,o.x,o.y,o.isInstant)}},m.prototype._positionItem=function(t,e,i,o){o?t.goTo(e,i):t.moveTo(e,i)},m.prototype._postLayout=function(){this.resizeContainer()},m.prototype.resizeContainer=function(){if(this.options.isResizingContainer){var t=this._getContainerSize();t&&(this._setContainerMeasure(t.width,!0),this._setContainerMeasure(t.height,!1))}},m.prototype._getContainerSize=h,m.prototype._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},m.prototype._itemsOn=function(t,e,i){function o(){return n++,n===r&&i.call(s),!0}for(var n=0,r=t.length,s=this,a=0,u=t.length;u>a;a++){var p=t[a];p.on(e,o)}},m.prototype.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},m.prototype.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},m.prototype.stamp=function(t){if(t=this._find(t)){this.stamps=this.stamps.concat(t);for(var e=0,i=t.length;i>e;e++){var o=t[e];this.ignore(o)}}},m.prototype.unstamp=function(t){if(t=this._find(t))for(var e=0,i=t.length;i>e;e++){var o=t[e];n(o,this.stamps),this.unignore(o)}},m.prototype._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=o(t)):void 0},m.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var t=0,e=this.stamps.length;e>t;t++){var i=this.stamps[t];this._manageStamp(i)}}},m.prototype._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},m.prototype._manageStamp=h,m.prototype._getElementOffset=function(t){var e=t.getBoundingClientRect(),i=this._boundingRect,o=l(t),n={left:e.left-i.left-o.marginLeft,top:e.top-i.top-o.marginTop,right:i.right-e.right-o.marginRight,bottom:i.bottom-e.bottom-o.marginBottom};return n},m.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},m.prototype.bindResize=function(){this.isResizeBound||(i.bind(t,"resize",this),this.isResizeBound=!0)},m.prototype.unbindResize=function(){this.isResizeBound&&i.unbind(t,"resize",this),this.isResizeBound=!1},m.prototype.onresize=function(){function t(){e.resize(),delete e.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var e=this;this.resizeTimeout=setTimeout(t,100)},m.prototype.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},m.prototype.needsResizeLayout=function(){var t=l(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},m.prototype.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},m.prototype.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},m.prototype.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},m.prototype.reveal=function(t){var e=t&&t.length;if(e)for(var i=0;e>i;i++){var o=t[i];o.reveal()}},m.prototype.hide=function(t){var e=t&&t.length;if(e)for(var i=0;e>i;i++){var o=t[i];o.hide()}},m.prototype.getItem=function(t){for(var e=0,i=this.items.length;i>e;e++){var o=this.items[e];if(o.element===t)return o}},m.prototype.getItems=function(t){if(t&&t.length){for(var e=[],i=0,o=t.length;o>i;i++){var n=t[i],r=this.getItem(n);r&&e.push(r)}return e}},m.prototype.remove=function(t){t=o(t);var e=this.getItems(t);if(e&&e.length){this._itemsOn(e,"remove",function(){this.emitEvent("removeComplete",[this,e])});for(var i=0,r=e.length;r>i;i++){var s=e[i];s.remove(),n(s,this.items)}}},m.prototype.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="";for(var e=0,i=this.items.length;i>e;e++){var o=this.items[e];o.destroy()}this.unbindResize(),delete this.element.outlayerGUID,p&&p.removeData(this.element,this.constructor.namespace)},m.data=function(t){var e=t&&t.outlayerGUID;return e&&v[e]},m.create=function(t,i){function o(){m.apply(this,arguments)}return Object.create?o.prototype=Object.create(m.prototype):e(o.prototype,m.prototype),o.prototype.constructor=o,o.defaults=e({},m.defaults),e(o.defaults,i),o.prototype.settings={},o.namespace=t,o.data=m.data,o.Item=function(){y.apply(this,arguments)},o.Item.prototype=new y,s(function(){for(var e=r(t),i=a.querySelectorAll(".js-"+e),n="data-"+e+"-options",s=0,h=i.length;h>s;s++){var f,d=i[s],l=d.getAttribute(n);try{f=l&&JSON.parse(l)}catch(c){u&&u.error("Error parsing "+n+" on "+d.nodeName.toLowerCase()+(d.id?"#"+d.id:"")+": "+c);continue}var y=new o(d,f);p&&p.data(d,t,y)}}),p&&p.bridget&&p.bridget(t,o),o},m.Item=y,m}var a=t.document,u=t.console,p=t.jQuery,h=function(){},f=Object.prototype.toString,d="object"==typeof HTMLElement?function(t){return t instanceof HTMLElement}:function(t){return t&&"object"==typeof t&&1===t.nodeType&&"string"==typeof t.nodeName},l=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,o=t.length;o>i;i++)if(t[i]===e)return i;return-1};"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","doc-ready/doc-ready","eventEmitter/EventEmitter","get-size/get-size","matches-selector/matches-selector","./item"],s):t.Outlayer=s(t.eventie,t.docReady,t.EventEmitter,t.getSize,t.matchesSelector,t.Outlayer.Item)}(window),function(t){function e(t){function e(){t.Item.apply(this,arguments)}e.prototype=new t.Item,e.prototype._create=function(){this.id=this.layout.itemGUID++,t.Item.prototype._create.call(this),this.sortData={}},e.prototype.updateSortData=function(){if(!this.isIgnored){this.sortData.id=this.id,this.sortData["original-order"]=this.id,this.sortData.random=Math.random();var t=this.layout.options.getSortData,e=this.layout._sorters;for(var i in t){var o=e[i];this.sortData[i]=o(this.element,this)}}};var i=e.prototype.destroy;return e.prototype.destroy=function(){i.apply(this,arguments),this.css({display:""})},e}"function"==typeof define&&define.amd?define("isotope/js/item",["outlayer/outlayer"],e):(t.Isotope=t.Isotope||{},t.Isotope.Item=e(t.Outlayer))}(window),function(t){function e(t,e){function i(t){this.isotope=t,t&&(this.options=t.options[this.namespace],this.element=t.element,this.items=t.filteredItems,this.size=t.size)}return function(){function t(t){return function(){return e.prototype[t].apply(this.isotope,arguments)}}for(var o=["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout"],n=0,r=o.length;r>n;n++){var s=o[n];i.prototype[s]=t(s)}}(),i.prototype.needsVerticalResizeLayout=function(){var e=t(this.isotope.element),i=this.isotope.size&&e;return i&&e.innerHeight!==this.isotope.size.innerHeight},i.prototype._getMeasurement=function(){this.isotope._getMeasurement.apply(this,arguments)},i.prototype.getColumnWidth=function(){this.getSegmentSize("column","Width")},i.prototype.getRowHeight=function(){this.getSegmentSize("row","Height")},i.prototype.getSegmentSize=function(t,e){var i=t+e,o="outer"+e;if(this._getMeasurement(i,o),!this[i]){var n=this.getFirstItemSize();this[i]=n&&n[o]||this.isotope.size["inner"+e]}},i.prototype.getFirstItemSize=function(){var e=this.isotope.filteredItems[0];return e&&e.element&&t(e.element)},i.prototype.layout=function(){this.isotope.layout.apply(this.isotope,arguments)},i.prototype.getSize=function(){this.isotope.getSize(),this.size=this.isotope.size},i.modes={},i.create=function(t,e){function o(){i.apply(this,arguments)}return o.prototype=new i,e&&(o.options=e),o.prototype.namespace=t,i.modes[t]=o,o},i}"function"==typeof define&&define.amd?define("isotope/js/layout-mode",["get-size/get-size","outlayer/outlayer"],e):(t.Isotope=t.Isotope||{},t.Isotope.LayoutMode=e(t.getSize,t.Outlayer))}(window),function(t){function e(t,e){var o=t.create("masonry");return o.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var t=this.cols;for(this.colYs=[];t--;)this.colYs.push(0);this.maxY=0},o.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}this.columnWidth+=this.gutter,this.cols=Math.floor((this.containerWidth+this.gutter)/this.columnWidth),this.cols=Math.max(this.cols,1)},o.prototype.getContainerWidth=function(){var t=this.options.isFitWidth?this.element.parentNode:this.element,i=e(t);this.containerWidth=i&&i.innerWidth},o.prototype._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,o=e&&1>e?"round":"ceil",n=Math[o](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var r=this._getColGroup(n),s=Math.min.apply(Math,r),a=i(r,s),u={x:this.columnWidth*a,y:s},p=s+t.size.outerHeight,h=this.cols+1-r.length,f=0;h>f;f++)this.colYs[a+f]=p;return u},o.prototype._getColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,o=0;i>o;o++){var n=this.colYs.slice(o,o+t);e[o]=Math.max.apply(Math,n)}return e},o.prototype._manageStamp=function(t){var i=e(t),o=this._getElementOffset(t),n=this.options.isOriginLeft?o.left:o.right,r=n+i.outerWidth,s=Math.floor(n/this.columnWidth);s=Math.max(0,s);var a=Math.floor(r/this.columnWidth);a-=r%this.columnWidth?0:1,a=Math.min(this.cols-1,a);for(var u=(this.options.isOriginTop?o.top:o.bottom)+i.outerHeight,p=s;a>=p;p++)this.colYs[p]=Math.max(u,this.colYs[p])},o.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this.options.isFitWidth&&(t.width=this._getContainerFitWidth()),t},o.prototype._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},o.prototype.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!==this.containerWidth},o}var i=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,o=t.length;o>i;i++){var n=t[i];if(n===e)return i}return-1};"function"==typeof define&&define.amd?define("masonry/masonry",["outlayer/outlayer","get-size/get-size"],e):t.Masonry=e(t.Outlayer,t.getSize)}(window),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t,i){var o=t.create("masonry"),n=o.prototype._getElementOffset,r=o.prototype.layout,s=o.prototype._getMeasurement;e(o.prototype,i.prototype),o.prototype._getElementOffset=n,o.prototype.layout=r,o.prototype._getMeasurement=s;var a=o.prototype.measureColumns;o.prototype.measureColumns=function(){this.items=this.isotope.filteredItems,a.call(this)};var u=o.prototype._manageStamp;return o.prototype._manageStamp=function(){this.options.isOriginLeft=this.isotope.options.isOriginLeft,this.options.isOriginTop=this.isotope.options.isOriginTop,u.apply(this,arguments)},o}"function"==typeof define&&define.amd?define("isotope/js/layout-modes/masonry",["../layout-mode","masonry/masonry"],i):i(t.Isotope.LayoutMode,t.Masonry)}(window),function(t){function e(t){var e=t.create("fitRows");return e.prototype._resetLayout=function(){this.x=0,this.y=0,this.maxY=0},e.prototype._getItemLayoutPosition=function(t){t.getSize(),0!==this.x&&t.size.outerWidth+this.x>this.isotope.size.innerWidth&&(this.x=0,this.y=this.maxY);var e={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+t.size.outerHeight),this.x+=t.size.outerWidth,e},e.prototype._getContainerSize=function(){return{height:this.maxY}},e}"function"==typeof define&&define.amd?define("isotope/js/layout-modes/fit-rows",["../layout-mode"],e):e(t.Isotope.LayoutMode)}(window),function(t){function e(t){var e=t.create("vertical",{horizontalAlignment:0});return e.prototype._resetLayout=function(){this.y=0},e.prototype._getItemLayoutPosition=function(t){t.getSize();var e=(this.isotope.size.innerWidth-t.size.outerWidth)*this.options.horizontalAlignment,i=this.y;return this.y+=t.size.outerHeight,{x:e,y:i}},e.prototype._getContainerSize=function(){return{height:this.y}},e}"function"==typeof define&&define.amd?define("isotope/js/layout-modes/vertical",["../layout-mode"],e):e(t.Isotope.LayoutMode)}(window),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){return"[object Array]"===h.call(t)}function o(t){var e=[];if(i(t))e=t;else if(t&&"number"==typeof t.length)for(var o=0,n=t.length;n>o;o++)e.push(t[o]);else e.push(t);return e}function n(t,e){var i=f(e,t);-1!==i&&e.splice(i,1)}function r(t,i,r,u,h){function f(t,e){return function(i,o){for(var n=0,r=t.length;r>n;n++){var s=t[n],a=i.sortData[s],u=o.sortData[s];if(a>u||u>a){var p=void 0!==e[s]?e[s]:e,h=p?1:-1;return(a>u?1:-1)*h}}return 0}}var d=t.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});d.Item=u,d.LayoutMode=h,d.prototype._create=function(){this.itemGUID=0,this._sorters={},this._getSorters(),t.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"];for(var e in h.modes)this._initLayoutMode(e)},d.prototype.reloadItems=function(){this.itemGUID=0,t.prototype.reloadItems.call(this)},d.prototype._itemize=function(){for(var e=t.prototype._itemize.apply(this,arguments),i=0,o=e.length;o>i;i++){var n=e[i];n.id=this.itemGUID++}return this._updateItemsSortData(e),e},d.prototype._initLayoutMode=function(t){var i=h.modes[t],o=this.options[t]||{};this.options[t]=i.options?e(i.options,o):o,this.modes[t]=new i(this)},d.prototype.layout=function(){return!this._isLayoutInited&&this.options.isInitLayout?(this.arrange(),void 0):(this._layout(),void 0)},d.prototype._layout=function(){var t=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,t),this._isLayoutInited=!0},d.prototype.arrange=function(t){this.option(t),this._getIsInstant(),this.filteredItems=this._filter(this.items),this._sort(),this._layout()},d.prototype._init=d.prototype.arrange,d.prototype._getIsInstant=function(){var t=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;return this._isInstant=t,t},d.prototype._filter=function(t){function e(){f.reveal(n),f.hide(r)}var i=this.options.filter;i=i||"*";for(var o=[],n=[],r=[],s=this._getFilterTest(i),a=0,u=t.length;u>a;a++){var p=t[a];if(!p.isIgnored){var h=s(p);h&&o.push(p),h&&p.isHidden?n.push(p):h||p.isHidden||r.push(p)}}var f=this;return this._isInstant?this._noTransition(e):e(),o},d.prototype._getFilterTest=function(t){return s&&this.options.isJQueryFiltering?function(e){return s(e.element).is(t)}:"function"==typeof t?function(e){return t(e.element)}:function(e){return r(e.element,t)}},d.prototype.updateSortData=function(t){this._getSorters(),t=o(t); 8 | var e=this.getItems(t);e=e.length?e:this.items,this._updateItemsSortData(e)},d.prototype._getSorters=function(){var t=this.options.getSortData;for(var e in t){var i=t[e];this._sorters[e]=l(i)}},d.prototype._updateItemsSortData=function(t){for(var e=0,i=t.length;i>e;e++){var o=t[e];o.updateSortData()}};var l=function(){function t(t){if("string"!=typeof t)return t;var i=a(t).split(" "),o=i[0],n=o.match(/^\[(.+)\]$/),r=n&&n[1],s=e(r,o),u=d.sortDataParsers[i[1]];return t=u?function(t){return t&&u(s(t))}:function(t){return t&&s(t)}}function e(t,e){var i;return i=t?function(e){return e.getAttribute(t)}:function(t){var i=t.querySelector(e);return i&&p(i)}}return t}();d.sortDataParsers={parseInt:function(t){return parseInt(t,10)},parseFloat:function(t){return parseFloat(t)}},d.prototype._sort=function(){var t=this.options.sortBy;if(t){var e=[].concat.apply(t,this.sortHistory),i=f(e,this.options.sortAscending);this.filteredItems.sort(i),t!==this.sortHistory[0]&&this.sortHistory.unshift(t)}},d.prototype._mode=function(){var t=this.options.layoutMode,e=this.modes[t];if(!e)throw Error("No layout mode: "+t);return e.options=this.options[t],e},d.prototype._resetLayout=function(){t.prototype._resetLayout.call(this),this._mode()._resetLayout()},d.prototype._getItemLayoutPosition=function(t){return this._mode()._getItemLayoutPosition(t)},d.prototype._manageStamp=function(t){this._mode()._manageStamp(t)},d.prototype._getContainerSize=function(){return this._mode()._getContainerSize()},d.prototype.needsResizeLayout=function(){return this._mode().needsResizeLayout()},d.prototype.appended=function(t){var e=this.addItems(t);if(e.length){var i=this._filterRevealAdded(e);this.filteredItems=this.filteredItems.concat(i)}},d.prototype.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps();var o=this._filterRevealAdded(e);this.layoutItems(i),this.filteredItems=o.concat(this.filteredItems)}},d.prototype._filterRevealAdded=function(t){var e=this._noTransition(function(){return this._filter(t)});return this.layoutItems(e,!0),this.reveal(e),t},d.prototype.insert=function(t){var e=this.addItems(t);if(e.length){var i,o,n=e.length;for(i=0;n>i;i++)o=e[i],this.element.appendChild(o.element);var r=this._filter(e);for(this._noTransition(function(){this.hide(r)}),i=0;n>i;i++)e[i].isLayoutInstant=!0;for(this.arrange(),i=0;n>i;i++)delete e[i].isLayoutInstant;this.reveal(r)}};var c=d.prototype.remove;return d.prototype.remove=function(t){t=o(t);var e=this.getItems(t);if(c.call(this,t),e&&e.length)for(var i=0,r=e.length;r>i;i++){var s=e[i];n(s,this.filteredItems)}},d.prototype.shuffle=function(){for(var t=0,e=this.items.length;e>t;t++){var i=this.items[t];i.sortData.random=Math.random()}this.options.sortBy="random",this._sort(),this._layout()},d.prototype._noTransition=function(t){var e=this.options.transitionDuration;this.options.transitionDuration=0;var i=t.call(this);return this.options.transitionDuration=e,i},d.prototype.getFilteredItemElements=function(){for(var t=[],e=0,i=this.filteredItems.length;i>e;e++)t.push(this.filteredItems[e].element);return t},d}var s=t.jQuery,a=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^\s+|\s+$/g,"")},u=document.documentElement,p=u.textContent?function(t){return t.textContent}:function(t){return t.innerText},h=Object.prototype.toString,f=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,o=t.length;o>i;i++)if(t[i]===e)return i;return-1};"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","matches-selector/matches-selector","isotope/js/item","isotope/js/layout-mode","isotope/js/layout-modes/masonry","isotope/js/layout-modes/fit-rows","isotope/js/layout-modes/vertical"],r):t.Isotope=r(t.Outlayer,t.getSize,t.matchesSelector,t.Isotope.Item,t.Isotope.LayoutMode)}(window); -------------------------------------------------------------------------------- /source/js/vendor/jquery-1.11.1.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ 2 | !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h; 3 | if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:k.htmlSerialize?[0,"",""]:[1,"X
","
"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("