commit e9cc9c78e582655e4e896a6d21ffbe0dd0e0c6df Author: Logen Kain Date: Sun Jun 12 16:00:30 2016 -0700 Initial blog with twister and some config diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..45c1505 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +_site +.sass-cache +.jekyll-metadata diff --git a/404.html b/404.html new file mode 100644 index 0000000..ffc76cb --- /dev/null +++ b/404.html @@ -0,0 +1,12 @@ +--- +layout: index +title: Ooops! +--- +
+

Something seems to have gone wrong here. Sorry 'bout that

+

Maybe we can make up for it with some posts and then be friends again?

+
+ +{% for post in site.posts limit:4 %} + {% include article_index.html %} +{% endfor %} diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..d45dccb --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 DigitalMindCH + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..169d859 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +# Twister +![twister preview](/img/twister_preview_big.jpg) + +## Multimedia +If we had to choose one word to describe Twister that would be it. Twister is a theme that focusses on multimedia. It contains different post types to create video posts, audio posts, image post or gallery posts with ease. We created a ton of Variables, that make customization super easy. + +This theme is powerful and it comes with a few extras. + +## Features +The theme comes with a grunt file, which means that working with it is super easy. We have Tasks that compile, concatenate, minify and even deploy to your site. + +### Front Matter Generator +Twister comes with a front matter generator that will make generating the front matter for each post a breeze. So you don't have to remember each and every variable name, the generator will help you with that. + +### Extensive Documentation +We don't believe in delivering Code without explanation. So we wrote an extensive Documentation for Twister that goes over every single step from installing all of the dependencies to explaining how to customize, create posts and publish. We even tell you how you can host Twister with Plugins on GitHub pages. + +Check the [Docs](http://twister.digitalmind.ch/documentation/) out. + +### Feedback, Wishes, Problems +If you run into any trouble or have a request please do so by opening up an issue on the theme's GitHub page. +If you just want to give us a general feedback feel free to [contact us!](http://digitalmind.ch/contact/) \ No newline at end of file diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..13424df --- /dev/null +++ b/_config.yml @@ -0,0 +1,121 @@ +name: Tech Shotgun +description: Blastin' Tech Since 2016 +url: #place url +gems: [jekyll-paginate] +baseurl: #place folder name if site is served in subfolder +permalink: /:title/ +paginate: 8 +paginate_path: /page/:num/ +tag_dir: /tag +category_dir: /category +author_dir: /author +author_title_prefix: 'Posted by ' +media_folder: /img +author_default_avatar: /profile-pic.jpg +tumblr: "#" +pinterest: "#" +instagram: "#" +twitter: "#" +facebook: "#" +youtube: "#" +vimeo: "#" +soundcloud: "#" + +encoding: utf-8 +defaults: + - + scope: + path: "" + type: "posts" + values: + layout: "post" + type: "standard" + homedisplay: "featimg" +markdown: kramdown +kramdown: + input: GFM + syntax_highlighter: rouge +relative_permalinks: false +exclude: [.git, .gitignore, sass, .sass-cache, package.json, gruntfile.js, node_modules, README.md] + +# prose.io configurations +prose: + media: "img" + metadata: + _posts: + - name: "title" + field: + element: "text" + label: "title" + - name: "layout" + field: + element: "select" + label: "Layout" + help: "display post at full width or with sidebar" + options: + - name: "with sidebar" + value: "post" + - name: "full width" + value: "post_full" + - name: "author" + field: + element: "text" + label: "Author" + help: "author id as defined within _data/authors.yml" + type: "text" + - name: "featimg" + field: + element: "text" + label: "Featured Image" + help: "featured image within the img-folder" + type: "text" + - name: "type" + field: + element: "select" + label: "Post Type" + help: "each type has some special feature" + options: + - name: "Standard" + value: "standard" + - name: "Image" + value: "image" + - name: "Gallery" + value: "gallery" + - name: "Audio" + value: "audio" + - name: "YouTube" + value: "youtube" + - name: "Vimeo" + value: "vimeo" + - name: "homedisplay" + field: + element: "select" + label: "Home Display" + help: "decide whether to display embedded element (for post types: audio, youtube, vimeo) or Featured Image on home page" + options: + - name: "Featured Image" + value: "featimg" + - name: "Embedded Element" + value: "iframe" + - name: "vimeo-embed" + field: + element: "text" + label: "Vimeo Embedding Code" + help: "Set post type to vimeo in order for this to work" + - name: "gallery-id" + field: + element: "text" + label: "Gallery ID" + help: "ID of the gallery defined within _data/galleries.yml - use include in content to use" + - name: "audio-embed" + field: + element: "text" + label: "Audio Embedding Code" + help: "Set post type to audio in order for this to work" + - name: "yt-video-id" + field: + element: "text" + label: "YouTube Video ID" + help: "Set post type to youtube in order for this to work. Do not set featured image, as the youtube video thumbnail will be used" + type: "text" + diff --git a/_data/authors.yml b/_data/authors.yml new file mode 100644 index 0000000..e3887a3 --- /dev/null +++ b/_data/authors.yml @@ -0,0 +1,13 @@ +- + id: someone + name: Some Person + avatar: /profile-pic.jpg + bio: this is some more information about the author. + facebook: https://www.facebook.com/someone + twitter: https://twitter.com/someone + instagram: http://instagram.com/someone + email: someone@something.com +- + id: person + avatar: /profile-pic.jpg + bio: Lorem ipsum dolor sit amet, consectetur adipisicing elit. Id, quidem. diff --git a/_data/galleries.yml b/_data/galleries.yml new file mode 100644 index 0000000..879fb87 --- /dev/null +++ b/_data/galleries.yml @@ -0,0 +1,19 @@ +- id: gallery + imagefolder: /img/galleries/gallery-standard-post + images: + - filename: 1.jpg + alttext: Bloom Flat + - filename: 2.jpg + alttext: Bloom + - filename: 3.jpg + alttext: Blossom in a Star + - filename: 4.jpg + alttext: Blossom + - filename: 5.jpg + alttext: Bubbly Bloom + - filename: 6.jpg + alttext: Rays of Gold + - filename: 7.jpg + alttext: Exotic + - filename: 8.jpg + alttext: Filled out diff --git a/_includes/article_index.html b/_includes/article_index.html new file mode 100644 index 0000000..fbb320b --- /dev/null +++ b/_includes/article_index.html @@ -0,0 +1,51 @@ +
+ {% if post.homedisplay == "iframe" %} + {% if post.type == "vimeo" %} + {% if post.vimeo-embed %} +
+ {{ post.vimeo-embed }} +
+ {% endif %} + {% elsif post.type == "youtube" %} + {% if post.yt-video-id %} +
+ +
+ {% endif %} + {% elsif post.type == "audio" %} + {% if post.audio-embed %} + {{ post.audio-embed }} + {% endif %} + {% else %} + {% if post.featimg %} + + {{ post.featimg }} + + {% endif %} + {% endif %} + {% else %} + {% if post.type == "youtube" %} + {% if post.yt-video-id %} + + {{ post.title }} thumbnail + + {% endif %} + {% else %} + {% if post.featimg %} + + {{ post.featimg }} + + {% endif %} + {% endif %} + {% endif %} + {% if post.category %} + + {{ post.category }} + + {% endif %} + +

{{ post.title }}

+
+

{{ post.content | strip_html | truncatewords: 15 }}

+ {{ post.date | date: '%B %d, %Y' }} +
diff --git a/_includes/article_index_short.html b/_includes/article_index_short.html new file mode 100644 index 0000000..722f4f8 --- /dev/null +++ b/_includes/article_index_short.html @@ -0,0 +1,5 @@ +
+ + {{ post.date | date: '%b %d' }} {{ post.title }} + +
diff --git a/_includes/author.html b/_includes/author.html new file mode 100644 index 0000000..ea50df3 --- /dev/null +++ b/_includes/author.html @@ -0,0 +1,21 @@ +{% if post.author %} + {% assign author = post.author %} +{% elsif page.author %} + {% assign author = page.author %} +{% else %} + {% assign author = site.author %} +{% endif %} +{% if author %} + Posted by + {% assign the_author = site.data.authors | where: 'id', author %} + {% for author in the_author %} + + {% if author.name %} + {{ author.name }} + {% else %} + {{ author.id }} + {% endif %} + + {% endfor %} + +{% endif %} diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 0000000..5918e14 --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,6 @@ + diff --git a/_includes/full.html b/_includes/full.html new file mode 100644 index 0000000..42c0f47 --- /dev/null +++ b/_includes/full.html @@ -0,0 +1,388 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/_includes/gallery.html b/_includes/gallery.html new file mode 100644 index 0000000..9cad761 --- /dev/null +++ b/_includes/gallery.html @@ -0,0 +1,10 @@ + diff --git a/_includes/gallery_lightbox.html b/_includes/gallery_lightbox.html new file mode 100644 index 0000000..d0bcf9f --- /dev/null +++ b/_includes/gallery_lightbox.html @@ -0,0 +1,11 @@ +
+ {% for gallery in site.data.galleries %} + {% if gallery.id == page.gallery-id %} + {% for image in gallery.images %} + + {{ image.alttext }} + + {% endfor %} + {% endif %} + {% endfor %} +
diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 0000000..5eac3fe --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,8 @@ + +{{ site.name }}{% if page.title %} - {{ page.title }} {% endif%} +{% if page.description %}{% endif %} + + + + + diff --git a/_includes/header.html b/_includes/header.html new file mode 100644 index 0000000..173f4e5 --- /dev/null +++ b/_includes/header.html @@ -0,0 +1,7 @@ +
+ +
diff --git a/_includes/icon-github.html b/_includes/icon-github.html new file mode 100644 index 0000000..e501a16 --- /dev/null +++ b/_includes/icon-github.html @@ -0,0 +1 @@ +{% include icon-github.svg %}{{ include.username }} diff --git a/_includes/icon-github.svg b/_includes/icon-github.svg new file mode 100644 index 0000000..4422c4f --- /dev/null +++ b/_includes/icon-github.svg @@ -0,0 +1 @@ + diff --git a/_includes/icon-twitter.html b/_includes/icon-twitter.html new file mode 100644 index 0000000..e623dbd --- /dev/null +++ b/_includes/icon-twitter.html @@ -0,0 +1 @@ +{{ include.username }} diff --git a/_includes/icon-twitter.svg b/_includes/icon-twitter.svg new file mode 100644 index 0000000..dcf660e --- /dev/null +++ b/_includes/icon-twitter.svg @@ -0,0 +1 @@ + diff --git a/_includes/icon.html b/_includes/icon.html new file mode 100644 index 0000000..5a49b04 --- /dev/null +++ b/_includes/icon.html @@ -0,0 +1,5 @@ + + + + + diff --git a/_includes/logo.html b/_includes/logo.html new file mode 100644 index 0000000..d5e5475 --- /dev/null +++ b/_includes/logo.html @@ -0,0 +1,8 @@ + + + + + Twister + + + diff --git a/_includes/monthly_archive.html b/_includes/monthly_archive.html new file mode 100644 index 0000000..115bc34 --- /dev/null +++ b/_includes/monthly_archive.html @@ -0,0 +1,14 @@ + diff --git a/_includes/nav.html b/_includes/nav.html new file mode 100644 index 0000000..7d81eed --- /dev/null +++ b/_includes/nav.html @@ -0,0 +1,84 @@ + diff --git a/_includes/search.html b/_includes/search.html new file mode 100644 index 0000000..791a665 --- /dev/null +++ b/_includes/search.html @@ -0,0 +1,5 @@ + diff --git a/_includes/sidebar.html b/_includes/sidebar.html new file mode 100644 index 0000000..8998467 --- /dev/null +++ b/_includes/sidebar.html @@ -0,0 +1,51 @@ + diff --git a/_includes/svg.html b/_includes/svg.html new file mode 100644 index 0000000..a8e0cdc --- /dev/null +++ b/_includes/svg.html @@ -0,0 +1,217 @@ + + + + + diff --git a/_includes/yearly_archive.html b/_includes/yearly_archive.html new file mode 100644 index 0000000..a662192 --- /dev/null +++ b/_includes/yearly_archive.html @@ -0,0 +1,14 @@ + diff --git a/_layouts/author_index.html b/_layouts/author_index.html new file mode 100644 index 0000000..c16be5f --- /dev/null +++ b/_layouts/author_index.html @@ -0,0 +1,53 @@ +--- +layout: index +--- +{% assign the_author = site.data.authors | where: 'id', page.author %} +{% for author in the_author %} +
+
+ {% if author.avatar %} + {{ author.id }} avatar + {% else %} + avatar + {% endif %} +
+
+

+ {% if author.name %} + {{ author.name }} + {% else %} + {{ author.id }} + {% endif %} +

+ {% if author.bio%} +

{{ author.bio }}

+ {% endif %} + {% if author.facebook or author.twitter or author.instagram or author.email %} + + {% endif %} +
+
+{% endfor %} + +{% for post in site.posts %} + {% if post.author contains page.author %} + {% include article_index.html %} + {% endif %} +{% endfor %} + diff --git a/_layouts/category_index.html b/_layouts/category_index.html new file mode 100644 index 0000000..dab2ba8 --- /dev/null +++ b/_layouts/category_index.html @@ -0,0 +1,6 @@ +--- +layout: index +--- +{% for post in site.categories[page.category] %} + {% include article_index.html %} +{% endfor %} diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..e4ab96f --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,20 @@ + + + + {% include head.html %} + + + + {% include header.html %} + +
+
+ {{ content }} +
+
+ + {% include footer.html %} + + + + diff --git a/_layouts/index.html b/_layouts/index.html new file mode 100644 index 0000000..8b5199b --- /dev/null +++ b/_layouts/index.html @@ -0,0 +1,27 @@ + + + + {% include head.html %} + + + + {% include svg.html %} +
+ {% include header.html %} + {% include nav.html %} +
+ {% include search.html %} +
+
+

switch layout: GridClassic

+ {% if page.title %}

{{ page.title }}

{% endif %} +
+ {{ content }} +
+ {% include sidebar.html %} +
+
+ {% include footer.html %} + + + diff --git a/_layouts/index_alt.html b/_layouts/index_alt.html new file mode 100644 index 0000000..502ed52 --- /dev/null +++ b/_layouts/index_alt.html @@ -0,0 +1,6 @@ +--- +layout: index +--- +
+ {{ content }} +
diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100644 index 0000000..bb5faeb --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,36 @@ + + + + {% include head.html %} + + + + {% include svg.html %} +
+ {% include header.html %} + {% include nav.html %} +
+ {% include search.html %} +
+
+
+
+ {% if page.featimg %} + {{ page.featimg }} + {% endif %} + +

+ {{ page.title }} +

+
+ {{ content }} +
+
+
+ {% include sidebar.html %} +
+
+ {% include footer.html %} + + + diff --git a/_layouts/page_full.html b/_layouts/page_full.html new file mode 100644 index 0000000..a9c0f0b --- /dev/null +++ b/_layouts/page_full.html @@ -0,0 +1,35 @@ + + + + {% include head.html %} + + + + {% include svg.html %} +
+ {% include header.html %} + {% include nav.html %} +
+ {% include search.html %} +
+
+
+
+ {% if page.featimg %} + {{ page.featimg }} + {% endif %} + +

+ {{ page.title }} +

+
+ {{ content }} +
+
+
+
+
+ {% include footer.html %} + + + diff --git a/_layouts/post.html b/_layouts/post.html new file mode 100644 index 0000000..5aa4ba1 --- /dev/null +++ b/_layouts/post.html @@ -0,0 +1,91 @@ + + + + {% include head.html %} + + + + {% include svg.html %} +
+ {% include header.html %} + {% include nav.html %} +
+ {% include search.html %} +
+
+
+
+ {% if page.type == "vimeo" %} + {% if page.vimeo-embed %} +
+ {{ page.vimeo-embed }} +
+ {% endif %} + {% elsif page.type == "youtube" %} + {% if page.yt-video-id %} +
+ +
+ {% endif %} + {% elsif page.type == "image" or page.type == "gallery" %} + {% if page.featimg %} + {{ page.featimg }} + {% endif %} + {% elsif page.type == "audio" %} + {% if page.audio-embed %} + {{ page.audio-embed }} + {% endif %} + {% endif %} + +

+ {{ page.title }} +

+
+ {% include author.html%} • + + Published on {{ page.date | date: '%B %d, %Y' }} + +
+ {% if page.type == "standard" %} + {% if page.featimg %} + {{ page.featimg }} + {% endif %} + {% endif %} +
+ {{ content }} +
+ {% if page.category || page.tags %} +
+ {% if page.category %} +

+ Categories: + {{ page.categories | category_links }} +

+ {% endif %} + {% if page.tags %} +

+ Tags: + {% for tag in page.tags %} + {{ tag }} + {% endfor %} +

+ {% endif %} +
+ {% endif %} +
+
+ {% if page.previous.url %} + + {% endif %} + {% if page.next.url %} + + {% endif %} +
+
+ {% include sidebar.html %} +
+
+ {% include footer.html %} + + + diff --git a/_layouts/post_full.html b/_layouts/post_full.html new file mode 100644 index 0000000..0ce0b5b --- /dev/null +++ b/_layouts/post_full.html @@ -0,0 +1,90 @@ + + + + {% include head.html %} + + + + {% include svg.html %} +
+ {% include header.html %} + {% include nav.html %} +
+ {% include search.html %} +
+
+
+
+ {% if page.type == "vimeo" %} + {% if page.vimeo-embed %} +
+ {{ page.vimeo-embed }} +
+ {% endif %} + {% elsif page.type == "youtube" %} + {% if page.yt-video-id %} +
+ +
+ {% endif %} + {% elsif page.type == "image" or page.type == "gallery" %} + {% if page.featimg %} + {{ page.featimg }} + {% endif %} + {% elsif page.type == "audio" %} + {% if page.audio-embed %} + {{ page.audio-embed }} + {% endif %} + {% endif %} + +

+ {{ page.title }} +

+
+ {% include author.html%} • + + Published on {{ page.date | date: '%B %d, %Y' }} + +
+ {% if page.type == "standard" %} + {% if page.featimg %} + {{ page.featimg }} + {% endif %} + {% endif %} +
+ {{ content }} +
+ {% if page.category || page.tags %} +
+ {% if page.category %} +

+ Categories: + {{ page.categories | category_links }} +

+ {% endif %} + {% if page.tags %} +

+ Tags: + {% for tag in page.tags %} + {{ tag }} + {% endfor %} +

+ {% endif %} +
+ {% endif %} +
+
+ {% if page.previous.url %} + + {% endif %} + {% if page.next.url %} + + {% endif %} +
+
+
+
+ {% include footer.html %} + + + diff --git a/_layouts/tag_index.html b/_layouts/tag_index.html new file mode 100644 index 0000000..5ba9496 --- /dev/null +++ b/_layouts/tag_index.html @@ -0,0 +1,10 @@ +--- +layout: index +--- +{% for post in site.posts %} + {% for tag in post.tags %} + {% if tag == page.tag %} + {% include article_index.html %} + {% endif %} + {% endfor %} +{% endfor %} diff --git a/_plugins/_tag_gen.rb b/_plugins/_tag_gen.rb new file mode 100644 index 0000000..cf6f181 --- /dev/null +++ b/_plugins/_tag_gen.rb @@ -0,0 +1,33 @@ +module Jekyll + class TagIndex < Page + def initialize(site, base, dir, tag) + @site = site + @base = base + @dir = dir + @name = 'index.html' + self.process(@name) + self.read_yaml(File.join(base, '_layouts'), 'tag_index.html') + self.data['tag'] = tag + tag_title_prefix = site.config['tag_title_prefix'] || 'Posts Tagged: ' + tag_title_suffix = site.config['tag_title_suffix'] || '' + self.data['title'] = "#{tag_title_prefix}#{tag}#{tag_title_suffix}" + end + end + class TagGenerator < Generator + safe true + def generate(site) + if site.layouts.key? 'tag_index' + dir = site.config['tag_dir'] || 'tag' + site.tags.keys.each do |tag| + write_tag_index(site, File.join(dir, tag), tag) + end + end + end + def write_tag_index(site, dir, tag) + index = TagIndex.new(site, site.source, dir, tag) + index.render(site.layouts, site.site_payload) + index.write(site.dest) + site.pages << index + end + end + end diff --git a/_plugins/author_generator.rb b/_plugins/author_generator.rb new file mode 100644 index 0000000..68978b1 --- /dev/null +++ b/_plugins/author_generator.rb @@ -0,0 +1,147 @@ +# encoding: utf-8 +# +# Jekyll author page generator. +# http://recursive-design.com/projects/jekyll-plugins/ +# +# Version: 0.1.4 (201101061053) +# +# Copyright (c) 2010 Dave Perrett, http://recursive-design.com/ +# Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +# +# A generator that creates author pages for jekyll sites. +# +# Included filters : +# - author_links: Outputs the list of author as comma-separated links. +# - date_to_html_string: Outputs the post.date as formatted html, with hooks for CSS styling. +# +# Available _config.yml settings : +# - author_dir: The subfolder to build author pages in (default is 'authors'). +# - author_title_prefix: The string used before the author name in the page title (default is +# 'Author: '). + +module Jekyll + + # The AuthorIndex class creates a single author page for the specified author. + class AuthorIndex < Page + + # Initializes a new AuthorIndex. + # + # +base+ is the String path to the . + # +author_dir+ is the String path between and the author folder. + # +author+ is the author currently being processed. + def initialize(site, base, author_dir, author) + @site = site + @base = base + @dir = author_dir + @name = 'index.html' + puts "author #{author} @dir #{author_dir}" + self.process(@name) + # Read the YAML data from the layout page. + self.read_yaml(File.join(base, '_layouts'), 'author_index.html') + self.data['author'] = author + # Set the title for this page. + title_prefix = site.config['author_title_prefix'] || 'author: ' + self.data['title'] = "#{title_prefix}#{author}" + # Set the meta-description for this page. + meta_description_prefix = site.config['author_meta_description_prefix'] || 'author: ' + self.data['description'] = "#{meta_description_prefix}#{author}" + end + + end + + + # The Site class is a built-in Jekyll class with access to global site config information. + class Site + + # Creates an instance of AuthorIndex for each author page, renders it, and + # writes the output to a file. + # + # +author_dir+ is the String path to the author folder. + # +author+ is the author currently being processed. + def write_author_index(author_dir, author) + index = AuthorIndex.new(self, self.source, author_dir, author) + index.render(self.layouts, site_payload) + index.write(self.dest) + # Record the fact that this page has been added, otherwise Site::cleanup will remove it. + self.pages << index + + end + + # Loops through the list of author pages and processes each one. + def write_author_indexes + if self.layouts.key? 'author_index' + dir = self.config['author_dir'] || 'authors' + self.posts.each do |post| + post_authors = post.data["author"] + if String.try_convert(post_authors) + post_authors = [ post_authors ] + end + post_authors.each do |author| + self.write_author_index(File.join(dir, author.downcase.gsub(' ', '-')), author) + end unless post_authors.nil? + end + # Throw an exception if the layout couldn't be found. + else + throw "No 'author_index' layout found." + end + end + + end + + + # Jekyll hook - the generate method is called by jekyll, and generates all of the author pages. + class GenerateAuthor < Generator + safe true + priority :high + + def generate(site) + site.write_author_indexes + #puts "site.authors #{site.authors}" + end + + end + + + # Adds some extra filters used during the author creation process. + module Filters + + # Outputs a list of authors as comma-separated links. This is used + # to output the author list for each post on a author page. + # + # +author+ is the list of author to format. + # + # Returns string + # + def author_links(authors) + dir = @context.registers[:site].config['author_dir'] || "authors" + if String.try_convert(authors) + authors = [ authors ] + end + authors = authors.map do |author| + "#{author}" + end + case authors.length + when 0 + "" + when 1 + authors[0].to_s + else + "#{authors[0...-1].join(', ')}, #{authors[-1]}" + end + end + + # Outputs the post.date as formatted html, with hooks for CSS styling. + # + # +date+ is the date object to format as HTML. + # + # Returns string + def date_to_html_string(date) + result = '' + date.strftime('%b').upcase + ' ' + result += date.strftime('%d ') + result += date.strftime('%Y ') + result + end + + end + +end diff --git a/_plugins/generate_categories.rb b/_plugins/generate_categories.rb new file mode 100644 index 0000000..2ed5130 --- /dev/null +++ b/_plugins/generate_categories.rb @@ -0,0 +1,240 @@ +# encoding: utf-8 +# +# Jekyll category page generator. +# http://recursive-design.com/projects/jekyll-plugins/ +# +# Version: 0.2.4 (201210160037) +# +# Copyright (c) 2010 Dave Perrett, http://recursive-design.com/ +# Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +# +# A generator that creates category pages for jekyll sites. +# +# To use it, simply drop this script into the _plugins directory of your Jekyll site. You should +# also create a file called 'category_index.html' in the _layouts directory of your jekyll site +# with the following contents (note: you should remove the leading '# ' characters): +# +# ================================== COPY BELOW THIS LINE ================================== +# --- +# layout: default +# --- +# +#

{{ page.title }}

+# +# ================================== COPY ABOVE THIS LINE ================================== +# +# You can alter the _layout_ setting if you wish to use an alternate layout, and obviously you +# can change the HTML above as you see fit. +# +# When you compile your jekyll site, this plugin will loop through the list of categories in your +# site, and use the layout above to generate a page for each one with a list of links to the +# individual posts. +# +# You can also (optionally) generate an atom.xml feed for each category. To do this, copy +# the category_feed.xml file to the _includes/custom directory of your own project +# (https://github.com/recurser/jekyll-plugins/blob/master/_includes/custom/category_feed.xml). +# You'll also need to copy the octopress_filters.rb file into the _plugins directory of your +# project as the category_feed.xml requires a couple of extra filters +# (https://github.com/recurser/jekyll-plugins/blob/master/_plugins/octopress_filters.rb). +# +# Included filters : +# - category_links: Outputs the list of categories as comma-separated links. +# - date_to_html_string: Outputs the post.date as formatted html, with hooks for CSS styling. +# +# Available _config.yml settings : +# - category_dir: The subfolder to build category pages in (default is 'categories'). +# - category_title_prefix: The string used before the category name in the page title (default is +# 'Category: '). +module Jekyll + + # The CategoryIndex class creates a single category page for the specified category. + class CategoryPage < Page + + # Initializes a new CategoryIndex. + # + # +template_path+ is the path to the layout template to use. + # +site+ is the Jekyll Site instance. + # +base+ is the String path to the . + # +category_dir+ is the String path between and the category folder. + # +category+ is the category currently being processed. + def initialize(template_path, name, site, base, category_dir, category) + @site = site + @base = base + @dir = category_dir + @name = name + + self.process(name) + + if File.exist?(template_path) + @perform_render = true + template_dir = File.dirname(template_path) + template = File.basename(template_path) + # Read the YAML data from the layout page. + self.read_yaml(template_dir, template) + self.data['category'] = category + # Set the title for this page. + title_prefix = site.config['category_title_prefix'] || 'Category: ' + self.data['title'] = "#{title_prefix}#{category}" + # Set the meta-description for this page. + meta_description_prefix = site.config['category_meta_description_prefix'] || 'Category: ' + self.data['description'] = "#{meta_description_prefix}#{category}" + else + @perform_render = false + end + end + + def render? + @perform_render + end + + end + + # The CategoryIndex class creates a single category page for the specified category. + class CategoryIndex < CategoryPage + + # Initializes a new CategoryIndex. + # + # +site+ is the Jekyll Site instance. + # +base+ is the String path to the . + # +category_dir+ is the String path between and the category folder. + # +category+ is the category currently being processed. + def initialize(site, base, category_dir, category) + template_path = File.join(base, '_layouts', 'category_index.html') + super(template_path, 'index.html', site, base, category_dir, category) + end + + end + + # The CategoryFeed class creates an Atom feed for the specified category. + class CategoryFeed < CategoryPage + + # Initializes a new CategoryFeed. + # + # +site+ is the Jekyll Site instance. + # +base+ is the String path to the . + # +category_dir+ is the String path between and the category folder. + # +category+ is the category currently being processed. + def initialize(site, base, category_dir, category) + template_path = File.join(base, '_includes', 'custom', 'category_feed.xml') + super(template_path, 'atom.xml', site, base, category_dir, category) + + # Set the correct feed URL. + self.data['feed_url'] = "#{category_dir}/#{name}" if render? + end + + end + + # The Site class is a built-in Jekyll class with access to global site config information. + class Site + + # Creates an instance of CategoryIndex for each category page, renders it, and + # writes the output to a file. + # + # +category+ is the category currently being processed. + def write_category_index(category) + target_dir = GenerateCategories.category_dir(self.config['category_dir'], category) + index = CategoryIndex.new(self, self.source, target_dir, category) + if index.render? + index.render(self.layouts, site_payload) + index.write(self.dest) + # Record the fact that this pages has been added, otherwise Site::cleanup will remove it. + self.pages << index + end + + # Create an Atom-feed for each index. + feed = CategoryFeed.new(self, self.source, target_dir, category) + if feed.render? + feed.render(self.layouts, site_payload) + feed.write(self.dest) + # Record the fact that this pages has been added, otherwise Site::cleanup will remove it. + self.pages << feed + end + end + + # Loops through the list of category pages and processes each one. + def write_category_indexes + if self.layouts.key? 'category_index' + self.categories.keys.each do |category| + self.write_category_index(category) + end + + # Throw an exception if the layout couldn't be found. + else + throw "No 'category_index' layout found." + end + end + + end + + + # Jekyll hook - the generate method is called by jekyll, and generates all of the category pages. + class GenerateCategories < Generator + safe true + priority :low + + CATEGORY_DIR = 'categories' + + def generate(site) + site.write_category_indexes + end + + # Processes the given dir and removes leading and trailing slashes. Falls + # back on the default if no dir is provided. + def self.category_dir(base_dir, category) + base_dir = (base_dir || CATEGORY_DIR).gsub(/^\/*(.*)\/*$/, '\1') + category = category.gsub(/_|\P{Word}/, '-').gsub(/-{2,}/, '-').downcase + File.join(base_dir, category) + end + + end + + + # Adds some extra filters used during the category creation process. + module Filters + + # Outputs a list of categories as comma-separated links. This is used + # to output the category list for each post on a category page. + # + # +categories+ is the list of categories to format. + # + # Returns string + def category_links(categories) + base_dir = @context.registers[:site].config['category_dir'] + categories = categories.sort!.map do |category| + category_dir = GenerateCategories.category_dir(base_dir, category) + # Make sure the category directory begins with a slash. + category_dir = "/#{category_dir}" unless category_dir =~ /^\// + "#{category}" + end + + case categories.length + when 0 + "" + when 1 + categories[0].to_s + else + categories.join(', ') + end + end + + # Outputs the post.date as formatted html, with hooks for CSS styling. + # + # +date+ is the date object to format as HTML. + # + # Returns string + def date_to_html_string(date) + result = '' + date.strftime('%b').upcase + ' ' + result += date.strftime('%d ') + result += date.strftime('%Y ') + result + end + + end + +end diff --git a/_plugins/markdown.rb b/_plugins/markdown.rb new file mode 100644 index 0000000..727bf40 --- /dev/null +++ b/_plugins/markdown.rb @@ -0,0 +1,23 @@ +=begin + Jekyll tag to include Markdown text from _includes directory preprocessing with Liquid. + Usage: + {% markdown %} + Dependency: + - kramdown +=end +module Jekyll + class MarkdownTag < Liquid::Tag + def initialize(tag_name, text, tokens) + super + @text = text.strip + end + require "kramdown" + def render(context) + tmpl = File.read File.join Dir.pwd, "_includes", @text + site = context.registers[:site] + tmpl = (Liquid::Template.parse tmpl).render site.site_payload + html = Kramdown::Document.new(tmpl).to_html + end + end +end +Liquid::Template.register_tag('markdown', Jekyll::MarkdownTag) diff --git a/_posts/2015-01-31-vimeo.md b/_posts/2015-01-31-vimeo.md new file mode 100644 index 0000000..06c00bc --- /dev/null +++ b/_posts/2015-01-31-vimeo.md @@ -0,0 +1,22 @@ +--- +author: person +type: vimeo +vimeo-embed: +title: Vimeo +homedisplay: iframe +tags: [video, iframe] +category: [video] +--- +this is a video post using the vimeo format. + +To create one you just have to use the type-specific variables within the Front Matter and paste the embed code directly from vimeo. + +this post also shows the video on the home page instead of the featured image. + +``` yml +--- +type: vimeo +vimeo-embed: +homedisplay: iframe +--- +``` \ No newline at end of file diff --git a/_posts/2015-02-01-gallery-alt.md b/_posts/2015-02-01-gallery-alt.md new file mode 100644 index 0000000..6fcf568 --- /dev/null +++ b/_posts/2015-02-01-gallery-alt.md @@ -0,0 +1,61 @@ +--- +author: someone +layout: post_full +type: gallery +featimg: /galleries/gallery-standard-post/2.jpg +title: Gallery Alternative +gallery-id: gallery +tags: [gallery, image] +category: [image] +--- +An alternative to the simple gallery would be this version, which displays the post ins a lightbox. +The setup basically is the same, the include makes all the difference. + +Galleries are defined in a data-sheet, set type and gallery-id in front matter and include `gallery_lightbox.html` within the content. +
+ +###### _data/galleries.yml + +```yml +- id: gallery + imagefolder: /img/galleries/gallery-standard-post + images: + - filename: 1.jpg + alttext: Bloom Flat + - filename: 2.jpg + alttext: Bloom + - filename: 3.jpg + alttext: Blossom in a Star + - filename: 4.jpg + alttext: Blossom + - filename: 5.jpg + alttext: Bubbly Bloom + - filename: 6.jpg + alttext: Rays of Gold + - filename: 7.jpg + alttext: Exotic + - filename: 8.jpg + alttext: Filled out +``` +
+ +###### front matter + +```yml +--- +layout: post_full +type: gallery +gallery-id: gallery +--- +``` +
+ +###### post content + +``` liquid +{% raw %} +{% include gallery_lightbox.html %} +{% endraw %} +``` + +{% include gallery_lightbox.html %} \ No newline at end of file diff --git a/_posts/2015-02-02-img-full.md b/_posts/2015-02-02-img-full.md new file mode 100644 index 0000000..cce8d23 --- /dev/null +++ b/_posts/2015-02-02-img-full.md @@ -0,0 +1,20 @@ +--- +author: someone +layout: post_full +type: image +featimg: 5.jpg +title: Image Full +tags: [image] +category: [image] +--- +Here you see an image post with a full-width layout. + +The Front Matter for that looks like this: + +```yml +--- +layout: post_full +type: image +featimg: 5.jpg +--- +``` \ No newline at end of file diff --git a/_posts/2015-02-03-audio-full.md b/_posts/2015-02-03-audio-full.md new file mode 100644 index 0000000..c8b90cd --- /dev/null +++ b/_posts/2015-02-03-audio-full.md @@ -0,0 +1,21 @@ +--- +author: someone +layout: post_full +type: audio +audio-embed: +featimg: 6.jpg +title: Audio Full +tags: [music, soundcloud] +category: [audio] +--- +This audio post is displays without a sidebar and has a featured image set for the index pages. + +For the audio post to work, type must be set to audio and the audio-embed filled with an iframe. + +```yml +--- +layout: post_full +type: audio +audio-embed: +--- +``` \ No newline at end of file diff --git a/_posts/2015-02-04-youtube-full.md b/_posts/2015-02-04-youtube-full.md new file mode 100644 index 0000000..e117134 --- /dev/null +++ b/_posts/2015-02-04-youtube-full.md @@ -0,0 +1,22 @@ +--- +author: someone +layout: post_full +type: youtube +yt-video-id: hPX9h5OrlhU +homedisplay: iframe +title: YouTube full +tags: [video, music, iframe] +category: [video] +--- +This youtube video uses the iframe instead of the thumbnail image on the index pages. + +For a YouTube video, no embedding code is required, it all works through the video ID. + +```yml +--- +layout: post_full +type: youtube +yt-video-id: hPX9h5OrlhU +homedisplay: iframe +--- +``` \ No newline at end of file diff --git a/_posts/2015-02-05-standard-full.md b/_posts/2015-02-05-standard-full.md new file mode 100644 index 0000000..116fe96 --- /dev/null +++ b/_posts/2015-02-05-standard-full.md @@ -0,0 +1,16 @@ +--- +author: person +layout: post_full +title: Full Width Post +featimg: 2.jpg +tags: [text] +category: [standard] +--- +a standard post displayed at full-width, only requires a layout, variable. +The featured image will be added at the beginning of the content, but not above it, as in an image post. + +```yml +--- +layout: post_full +--- +``` \ No newline at end of file diff --git a/_posts/2015-02-06-gallery.md b/_posts/2015-02-06-gallery.md new file mode 100644 index 0000000..2e79889 --- /dev/null +++ b/_posts/2015-02-06-gallery.md @@ -0,0 +1,58 @@ +--- +author: someone +type: gallery +featimg: galleries/gallery-standard-post/5.jpg +title: Gallery +gallery-id: gallery +tags: [gallery, image] +category: [image] +--- +Here you'll find a simple gallery, that just adds all of the images at full-width directly in the post content. + +Galleries are defined in a data-sheet, set type and gallery-id in front matter and include `gallery.html` within the content. +
+ +###### _data/galleries.yml + +```yml +- id: gallery + imagefolder: /img/galleries/gallery-standard-post + images: + - filename: 1.jpg + alttext: Bloom Flat + - filename: 2.jpg + alttext: Bloom + - filename: 3.jpg + alttext: Blossom in a Star + - filename: 4.jpg + alttext: Blossom + - filename: 5.jpg + alttext: Bubbly Bloom + - filename: 6.jpg + alttext: Rays of Gold + - filename: 7.jpg + alttext: Exotic + - filename: 8.jpg + alttext: Filled out +``` +
+ +###### front matter + +```yml +--- +type: gallery +gallery-id: gallery +--- +``` +
+ +###### post content + +``` liquid +{% raw %} +{% include gallery.html %} +{% endraw %} +``` + +{% include gallery.html %} \ No newline at end of file diff --git a/_posts/2015-02-07-img.md b/_posts/2015-02-07-img.md new file mode 100644 index 0000000..37a1317 --- /dev/null +++ b/_posts/2015-02-07-img.md @@ -0,0 +1,18 @@ +--- +author: someone +type: image +featimg: 3.jpg +title: Image +tags: [image] +category: [image] +--- +Here you see an image post in the standard layout, with sidebar. + +The Front Matter for that looks like this: + +```yml +--- +type: image +featimg: 5.jpg +--- +``` \ No newline at end of file diff --git a/_posts/2015-02-08-audio.md b/_posts/2015-02-08-audio.md new file mode 100644 index 0000000..991f7bb --- /dev/null +++ b/_posts/2015-02-08-audio.md @@ -0,0 +1,19 @@ +--- +author: someone +type: audio +audio-embed: +homedisplay: iframe +title: Audio +tags: [music, soundcloud] +category: [audio] +--- +This audio post is displays without a sidebar and has the iframe set for the index pages, instead of a featured image. + +For the audio post to work, type must be set to audio and the audio-embed filled with an iframe. + +```yml +--- +type: audio +audio-embed: +--- +``` \ No newline at end of file diff --git a/_posts/2015-02-09-youtube.md b/_posts/2015-02-09-youtube.md new file mode 100644 index 0000000..c42cf76 --- /dev/null +++ b/_posts/2015-02-09-youtube.md @@ -0,0 +1,18 @@ +--- +author: someone +type: youtube +yt-video-id: e0RFirBWQsE +title: YouTube +tags: [video, music, iframe] +category: [video] +--- +This is a youtube post type video. + +For a YouTube video, no embedding code is required, it all works through the video ID. A featured image is not needed, as the video thumbnail will be used. + +```yml +--- +type: youtube +yt-video-id: e0RFirBWQsE +--- +``` \ No newline at end of file diff --git a/_posts/2015-02-10-standard.md b/_posts/2015-02-10-standard.md new file mode 100644 index 0000000..0ca2d4c --- /dev/null +++ b/_posts/2015-02-10-standard.md @@ -0,0 +1,10 @@ +--- +author: someone +title: Standard Post +featimg: 1.jpg +tags: [text] +category: [standard] +--- +Here you can see the basic post. No fancy type, no setting and the featured image is just embedded into the content. + +The front matter for that basic post just consists of the basic tags, author, title, featimg, tags and category. \ No newline at end of file diff --git a/_posts/2016-06-12-welcome-to-jekyll.markdown b/_posts/2016-06-12-welcome-to-jekyll.markdown new file mode 100644 index 0000000..c0d979f --- /dev/null +++ b/_posts/2016-06-12-welcome-to-jekyll.markdown @@ -0,0 +1,25 @@ +--- +layout: post +title: "Welcome to Jekyll!" +date: 2016-06-12 15:36:53 -0700 +categories: jekyll update +--- +You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated. + +To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works. + +Jekyll also offers powerful support for code snippets: + +{% highlight ruby %} +def print_hi(name) + puts "Hi, #{name}" +end +print_hi('Tom') +#=> prints 'Hi, Tom' to STDOUT. +{% endhighlight %} + +Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk]. + +[jekyll-docs]: http://jekyllrb.com/docs/home +[jekyll-gh]: https://github.com/jekyll/jekyll +[jekyll-talk]: https://talk.jekyllrb.com/ diff --git a/_sass/_base.scss b/_sass/_base.scss new file mode 100644 index 0000000..0883c3c --- /dev/null +++ b/_sass/_base.scss @@ -0,0 +1,206 @@ +/** + * Reset some basic elements + */ +body, h1, h2, h3, h4, h5, h6, +p, blockquote, pre, hr, +dl, dd, ol, ul, figure { + margin: 0; + padding: 0; +} + + + +/** + * Basic styling + */ +body { + font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family; + color: $text-color; + background-color: $background-color; + -webkit-text-size-adjust: 100%; + -webkit-font-feature-settings: "kern" 1; + -moz-font-feature-settings: "kern" 1; + -o-font-feature-settings: "kern" 1; + font-feature-settings: "kern" 1; + font-kerning: normal; +} + + + +/** + * Set `margin-bottom` to maintain vertical rhythm + */ +h1, h2, h3, h4, h5, h6, +p, blockquote, pre, +ul, ol, dl, figure, +%vertical-rhythm { + margin-bottom: $spacing-unit / 2; +} + + + +/** + * Images + */ +img { + max-width: 100%; + vertical-align: middle; +} + + + +/** + * Figures + */ +figure > img { + display: block; +} + +figcaption { + font-size: $small-font-size; +} + + + +/** + * Lists + */ +ul, ol { + margin-left: $spacing-unit; +} + +li { + > ul, + > ol { + margin-bottom: 0; + } +} + + + +/** + * Headings + */ +h1, h2, h3, h4, h5, h6 { + font-weight: $base-font-weight; +} + + + +/** + * Links + */ +a { + color: $brand-color; + text-decoration: none; + + &:visited { + color: darken($brand-color, 15%); + } + + &:hover { + color: $text-color; + text-decoration: underline; + } +} + + + +/** + * Blockquotes + */ +blockquote { + color: $grey-color; + border-left: 4px solid $grey-color-light; + padding-left: $spacing-unit / 2; + font-size: 18px; + letter-spacing: -1px; + font-style: italic; + + > :last-child { + margin-bottom: 0; + } +} + + + +/** + * Code formatting + */ +pre, +code { + font-size: 15px; + border: 1px solid $grey-color-light; + border-radius: 3px; + background-color: #eef; +} + +code { + padding: 1px 5px; +} + +pre { + padding: 8px 12px; + overflow-x: auto; + + > code { + border: 0; + padding-right: 0; + padding-left: 0; + } +} + + + +/** + * Wrapper + */ +.wrapper { + max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2)); + max-width: calc(#{$content-width} - (#{$spacing-unit} * 2)); + margin-right: auto; + margin-left: auto; + padding-right: $spacing-unit; + padding-left: $spacing-unit; + @extend %clearfix; + + @include media-query($on-laptop) { + max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit})); + max-width: calc(#{$content-width} - (#{$spacing-unit})); + padding-right: $spacing-unit / 2; + padding-left: $spacing-unit / 2; + } +} + + + +/** + * Clearfix + */ +%clearfix { + + &:after { + content: ""; + display: table; + clear: both; + } +} + + + +/** + * Icons + */ +.icon { + + > svg { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + + path { + fill: $grey-color; + } + } +} diff --git a/_sass/_layout.scss b/_sass/_layout.scss new file mode 100644 index 0000000..9cbfdde --- /dev/null +++ b/_sass/_layout.scss @@ -0,0 +1,242 @@ +/** + * Site header + */ +.site-header { + border-top: 5px solid $grey-color-dark; + border-bottom: 1px solid $grey-color-light; + min-height: 56px; + + // Positioning context for the mobile navigation icon + position: relative; +} + +.site-title { + font-size: 26px; + font-weight: 300; + line-height: 56px; + letter-spacing: -1px; + margin-bottom: 0; + float: left; + + &, + &:visited { + color: $grey-color-dark; + } +} + +.site-nav { + float: right; + line-height: 56px; + + .menu-icon { + display: none; + } + + .page-link { + color: $text-color; + line-height: $base-line-height; + + // Gaps between nav items, but not on the last one + &:not(:last-child) { + margin-right: 20px; + } + } + + @include media-query($on-palm) { + position: absolute; + top: 9px; + right: $spacing-unit / 2; + background-color: $background-color; + border: 1px solid $grey-color-light; + border-radius: 5px; + text-align: right; + + .menu-icon { + display: block; + float: right; + width: 36px; + height: 26px; + line-height: 0; + padding-top: 10px; + text-align: center; + + > svg { + width: 18px; + height: 15px; + + path { + fill: $grey-color-dark; + } + } + } + + .trigger { + clear: both; + display: none; + } + + &:hover .trigger { + display: block; + padding-bottom: 5px; + } + + .page-link { + display: block; + padding: 5px 10px; + + &:not(:last-child) { + margin-right: 0; + } + margin-left: 20px; + } + } +} + + + +/** + * Site footer + */ +.site-footer { + border-top: 1px solid $grey-color-light; + padding: $spacing-unit 0; +} + +.footer-heading { + font-size: 18px; + margin-bottom: $spacing-unit / 2; +} + +.contact-list, +.social-media-list { + list-style: none; + margin-left: 0; +} + +.footer-col-wrapper { + font-size: 15px; + color: $grey-color; + margin-left: -$spacing-unit / 2; + @extend %clearfix; +} + +.footer-col { + float: left; + margin-bottom: $spacing-unit / 2; + padding-left: $spacing-unit / 2; +} + +.footer-col-1 { + width: -webkit-calc(35% - (#{$spacing-unit} / 2)); + width: calc(35% - (#{$spacing-unit} / 2)); +} + +.footer-col-2 { + width: -webkit-calc(20% - (#{$spacing-unit} / 2)); + width: calc(20% - (#{$spacing-unit} / 2)); +} + +.footer-col-3 { + width: -webkit-calc(45% - (#{$spacing-unit} / 2)); + width: calc(45% - (#{$spacing-unit} / 2)); +} + +@include media-query($on-laptop) { + .footer-col-1, + .footer-col-2 { + width: -webkit-calc(50% - (#{$spacing-unit} / 2)); + width: calc(50% - (#{$spacing-unit} / 2)); + } + + .footer-col-3 { + width: -webkit-calc(100% - (#{$spacing-unit} / 2)); + width: calc(100% - (#{$spacing-unit} / 2)); + } +} + +@include media-query($on-palm) { + .footer-col { + float: none; + width: -webkit-calc(100% - (#{$spacing-unit} / 2)); + width: calc(100% - (#{$spacing-unit} / 2)); + } +} + + + +/** + * Page content + */ +.page-content { + padding: $spacing-unit 0; +} + +.page-heading { + font-size: 20px; +} + +.post-list { + margin-left: 0; + list-style: none; + + > li { + margin-bottom: $spacing-unit; + } +} + +.post-meta { + font-size: $small-font-size; + color: $grey-color; +} + +.post-link { + display: block; + font-size: 24px; +} + + + +/** + * Posts + */ +.post-header { + margin-bottom: $spacing-unit; +} + +.post-title { + font-size: 42px; + letter-spacing: -1px; + line-height: 1; + + @include media-query($on-laptop) { + font-size: 36px; + } +} + +.post-content { + margin-bottom: $spacing-unit; + + h2 { + font-size: 32px; + + @include media-query($on-laptop) { + font-size: 28px; + } + } + + h3 { + font-size: 26px; + + @include media-query($on-laptop) { + font-size: 22px; + } + } + + h4 { + font-size: 20px; + + @include media-query($on-laptop) { + font-size: 18px; + } + } +} diff --git a/_sass/_syntax-highlighting.scss b/_sass/_syntax-highlighting.scss new file mode 100644 index 0000000..8fac597 --- /dev/null +++ b/_sass/_syntax-highlighting.scss @@ -0,0 +1,71 @@ +/** + * Syntax highlighting styles + */ +.highlight { + background: #fff; + @extend %vertical-rhythm; + + .highlighter-rouge & { + background: #eef; + } + + .c { color: #998; font-style: italic } // Comment + .err { color: #a61717; background-color: #e3d2d2 } // Error + .k { font-weight: bold } // Keyword + .o { font-weight: bold } // Operator + .cm { color: #998; font-style: italic } // Comment.Multiline + .cp { color: #999; font-weight: bold } // Comment.Preproc + .c1 { color: #998; font-style: italic } // Comment.Single + .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special + .gd { color: #000; background-color: #fdd } // Generic.Deleted + .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific + .ge { font-style: italic } // Generic.Emph + .gr { color: #a00 } // Generic.Error + .gh { color: #999 } // Generic.Heading + .gi { color: #000; background-color: #dfd } // Generic.Inserted + .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific + .go { color: #888 } // Generic.Output + .gp { color: #555 } // Generic.Prompt + .gs { font-weight: bold } // Generic.Strong + .gu { color: #aaa } // Generic.Subheading + .gt { color: #a00 } // Generic.Traceback + .kc { font-weight: bold } // Keyword.Constant + .kd { font-weight: bold } // Keyword.Declaration + .kp { font-weight: bold } // Keyword.Pseudo + .kr { font-weight: bold } // Keyword.Reserved + .kt { color: #458; font-weight: bold } // Keyword.Type + .m { color: #099 } // Literal.Number + .s { color: #d14 } // Literal.String + .na { color: #008080 } // Name.Attribute + .nb { color: #0086B3 } // Name.Builtin + .nc { color: #458; font-weight: bold } // Name.Class + .no { color: #008080 } // Name.Constant + .ni { color: #800080 } // Name.Entity + .ne { color: #900; font-weight: bold } // Name.Exception + .nf { color: #900; font-weight: bold } // Name.Function + .nn { color: #555 } // Name.Namespace + .nt { color: #000080 } // Name.Tag + .nv { color: #008080 } // Name.Variable + .ow { font-weight: bold } // Operator.Word + .w { color: #bbb } // Text.Whitespace + .mf { color: #099 } // Literal.Number.Float + .mh { color: #099 } // Literal.Number.Hex + .mi { color: #099 } // Literal.Number.Integer + .mo { color: #099 } // Literal.Number.Oct + .sb { color: #d14 } // Literal.String.Backtick + .sc { color: #d14 } // Literal.String.Char + .sd { color: #d14 } // Literal.String.Doc + .s2 { color: #d14 } // Literal.String.Double + .se { color: #d14 } // Literal.String.Escape + .sh { color: #d14 } // Literal.String.Heredoc + .si { color: #d14 } // Literal.String.Interpol + .sx { color: #d14 } // Literal.String.Other + .sr { color: #009926 } // Literal.String.Regex + .s1 { color: #d14 } // Literal.String.Single + .ss { color: #990073 } // Literal.String.Symbol + .bp { color: #999 } // Name.Builtin.Pseudo + .vc { color: #008080 } // Name.Variable.Class + .vg { color: #008080 } // Name.Variable.Global + .vi { color: #008080 } // Name.Variable.Instance + .il { color: #099 } // Literal.Number.Integer.Long +} diff --git a/about.md b/about.md new file mode 100644 index 0000000..d0e6de5 --- /dev/null +++ b/about.md @@ -0,0 +1,15 @@ +--- +layout: page +title: About +permalink: /about/ +--- + +This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](http://jekyllrb.com/) + +You can find the source code for the Jekyll new theme at: +{% include icon-github.html username="jglovier" %} / +[jekyll-new](https://github.com/jglovier/jekyll-new) + +You can find the source code for Jekyll at +{% include icon-github.html username="jekyll" %} / +[jekyll](https://github.com/jekyll/jekyll) diff --git a/archive/index.md b/archive/index.md new file mode 100644 index 0000000..9e94ac3 --- /dev/null +++ b/archive/index.md @@ -0,0 +1,11 @@ +--- +layout: page +title: Archive +--- +## by Month +{% include monthly_archive.html %} + +
+ +## by Year +{% include yearly_archive.html %} \ No newline at end of file diff --git a/css/classic.css b/css/classic.css new file mode 100644 index 0000000..3ab73a2 --- /dev/null +++ b/css/classic.css @@ -0,0 +1 @@ +@font-face{font-family:'Roboto';src:url('../fonts/Roboto-MediumItalic-webfont.eot');src:url('../fonts/Roboto-MediumItalic-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-MediumItalic-webfont.woff') format('woff'),url('../fonts/Roboto-MediumItalic-webfont.ttf') format('truetype'),url('../fonts/Roboto-MediumItalic-webfont.svg#robotomedium_italic') format('svg');font-weight:500;font-style:italic;}@font-face{font-family:'Roboto';src:url('../fonts/Roboto-Medium-webfont.eot');src:url('../fonts/Roboto-Medium-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-Medium-webfont.woff') format('woff'),url('../fonts/Roboto-Medium-webfont.ttf') format('truetype'),url('../fonts/Roboto-Medium-webfont.svg#robotomedium') format('svg');font-weight:500;font-style:normal;}@font-face{font-family:'Roboto';src:url('../fonts/Roboto-LightItalic-webfont.eot');src:url('../fonts/Roboto-LightItalic-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-LightItalic-webfont.woff') format('woff'),url('../fonts/Roboto-LightItalic-webfont.ttf') format('truetype'),url('../fonts/Roboto-LightItalic-webfont.svg#robotolight_italic') format('svg');font-weight:300;font-style:italic;}@font-face{font-family:'Roboto';src:url('../fonts/Roboto-Light-webfont.eot');src:url('../fonts/Roboto-Light-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-Light-webfont.woff') format('woff'),url('../fonts/Roboto-Light-webfont.ttf') format('truetype'),url('../fonts/Roboto-Light-webfont.svg#robotolight') format('svg');font-weight:300;font-style:normal;}@font-face{font-family:'Roboto';src:url('../fonts/Roboto-BlackItalic-webfont.eot');src:url('../fonts/Roboto-BlackItalic-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-BlackItalic-webfont.woff') format('woff'),url('../fonts/Roboto-BlackItalic-webfont.ttf') format('truetype'),url('../fonts/Roboto-BlackItalic-webfont.svg#robotoblack_italic') format('svg');font-weight:900;font-style:italic;}@font-face{font-family:'Roboto';src:url('../fonts/Roboto-Black-webfont.eot');src:url('../fonts/Roboto-Black-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-Black-webfont.woff') format('woff'),url('../fonts/Roboto-Black-webfont.ttf') format('truetype'),url('../fonts/Roboto-Black-webfont.svg#robotoblack') format('svg');font-weight:900;font-style:normal;}.articles article:after{content:"";display:table;clear:both;}.articles{width:75%;}@media screen and (max-width: 1330px){.articles{width:100%;}}.articles article{position:relative;}.articles article img,.articles article>iframe{width:30%;}@media screen and (max-width: 775px){.articles article img,.articles article>iframe{width:100%;}}@media screen and (min-width: 776px){.articles article .video_container{position:relative;width:30%;height:0;padding:16.875% 0 0 0;}}@media screen and (min-width: 776px){.articles article:nth-of-type(even) img,.articles article:nth-of-type(even)>iframe,.articles article:nth-of-type(even) .video_container{float:left;margin-right:15px;}.articles article:nth-of-type(even) .date{left:calc(30% + 5px);}.articles article:nth-of-type(odd) img,.articles article:nth-of-type(odd)>iframe,.articles article:nth-of-type(odd) .video_container{float:right;margin-left:15px;}} \ No newline at end of file diff --git a/css/grid.css b/css/grid.css new file mode 100644 index 0000000..281c9a5 --- /dev/null +++ b/css/grid.css @@ -0,0 +1 @@ +@font-face{font-family:'Roboto';src:url('../fonts/Roboto-MediumItalic-webfont.eot');src:url('../fonts/Roboto-MediumItalic-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-MediumItalic-webfont.woff') format('woff'),url('../fonts/Roboto-MediumItalic-webfont.ttf') format('truetype'),url('../fonts/Roboto-MediumItalic-webfont.svg#robotomedium_italic') format('svg');font-weight:500;font-style:italic;}@font-face{font-family:'Roboto';src:url('../fonts/Roboto-Medium-webfont.eot');src:url('../fonts/Roboto-Medium-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-Medium-webfont.woff') format('woff'),url('../fonts/Roboto-Medium-webfont.ttf') format('truetype'),url('../fonts/Roboto-Medium-webfont.svg#robotomedium') format('svg');font-weight:500;font-style:normal;}@font-face{font-family:'Roboto';src:url('../fonts/Roboto-LightItalic-webfont.eot');src:url('../fonts/Roboto-LightItalic-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-LightItalic-webfont.woff') format('woff'),url('../fonts/Roboto-LightItalic-webfont.ttf') format('truetype'),url('../fonts/Roboto-LightItalic-webfont.svg#robotolight_italic') format('svg');font-weight:300;font-style:italic;}@font-face{font-family:'Roboto';src:url('../fonts/Roboto-Light-webfont.eot');src:url('../fonts/Roboto-Light-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-Light-webfont.woff') format('woff'),url('../fonts/Roboto-Light-webfont.ttf') format('truetype'),url('../fonts/Roboto-Light-webfont.svg#robotolight') format('svg');font-weight:300;font-style:normal;}@font-face{font-family:'Roboto';src:url('../fonts/Roboto-BlackItalic-webfont.eot');src:url('../fonts/Roboto-BlackItalic-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-BlackItalic-webfont.woff') format('woff'),url('../fonts/Roboto-BlackItalic-webfont.ttf') format('truetype'),url('../fonts/Roboto-BlackItalic-webfont.svg#robotoblack_italic') format('svg');font-weight:900;font-style:italic;}@font-face{font-family:'Roboto';src:url('../fonts/Roboto-Black-webfont.eot');src:url('../fonts/Roboto-Black-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-Black-webfont.woff') format('woff'),url('../fonts/Roboto-Black-webfont.ttf') format('truetype'),url('../fonts/Roboto-Black-webfont.svg#robotoblack') format('svg');font-weight:900;font-style:normal;}.articles{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;width:75%;}@media screen and (max-width: 1330px){.articles{width:100%;}}@media screen and (max-width: 530px){.articles{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}}.articles article{width:24.25%;}.articles article:nth-of-type(n){margin-bottom:25px;margin-right:1%;}.articles article:nth-of-type(4n){margin-right:0;}@media screen and (max-width: 1460px){.articles article{width:32.6666666667%;}.articles article:nth-of-type(n){margin-bottom:25px;margin-right:1%;}.articles article:nth-of-type(3n){margin-right:0;}}@media screen and (max-width: 775px){.articles article{width:48.5%;}.articles article:nth-of-type(n){margin-bottom:25px;margin-right:3%;}.articles article:nth-of-type(2n){margin-right:0;}}@media screen and (max-width: 530px){.articles article{width:100%;}.articles article:nth-of-type(n){margin-bottom:25px;margin-right:0;}.articles article:nth-of-type(1n){margin-right:0;}} \ No newline at end of file diff --git a/css/main.css b/css/main.css new file mode 100644 index 0000000..f9ce49e --- /dev/null +++ b/css/main.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.2.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal;}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.fa-lg{font-size:1.3333333333em;line-height:0.75em;vertical-align:-15%;}.fa-2x{font-size:2em;}.fa-3x{font-size:3em;}.fa-4x{font-size:4em;}.fa-5x{font-size:5em;}.fa-fw{width:1.2857142857em;text-align:center;}.fa-ul{padding-left:0;margin-left:2.1428571429em;list-style-type:none;}.fa-ul>li{position:relative;}.fa-li{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:0.1428571429em;text-align:center;}.fa-li.fa-lg{left:-1.8571428571em;}.fa-border{padding:0.2em 0.25em 0.15em;border:solid 0.08em #eee;border-radius:0.1em;}.pull-right{float:right;}.pull-left{float:left;}.fa.pull-left{margin-right:0.3em;}.fa.pull-right{margin-left:0.3em;}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear;}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg);}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg);}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg);}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1);}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1);}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{-webkit-filter:none;filter:none;}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle;}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center;}.fa-stack-1x{line-height:inherit;}.fa-stack-2x{font-size:2em;}.fa-inverse{color:#fff;}.fa-glass:before{content:"\f000";}.fa-music:before{content:"\f001";}.fa-search:before{content:"\f002";}.fa-envelope-o:before{content:"\f003";}.fa-heart:before{content:"\f004";}.fa-star:before{content:"\f005";}.fa-star-o:before{content:"\f006";}.fa-user:before{content:"\f007";}.fa-film:before{content:"\f008";}.fa-th-large:before{content:"\f009";}.fa-th:before{content:"\f00a";}.fa-th-list:before{content:"\f00b";}.fa-check:before{content:"\f00c";}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d";}.fa-search-plus:before{content:"\f00e";}.fa-search-minus:before{content:"\f010";}.fa-power-off:before{content:"\f011";}.fa-signal:before{content:"\f012";}.fa-gear:before,.fa-cog:before{content:"\f013";}.fa-trash-o:before{content:"\f014";}.fa-home:before{content:"\f015";}.fa-file-o:before{content:"\f016";}.fa-clock-o:before{content:"\f017";}.fa-road:before{content:"\f018";}.fa-download:before{content:"\f019";}.fa-arrow-circle-o-down:before{content:"\f01a";}.fa-arrow-circle-o-up:before{content:"\f01b";}.fa-inbox:before{content:"\f01c";}.fa-play-circle-o:before{content:"\f01d";}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e";}.fa-refresh:before{content:"\f021";}.fa-list-alt:before{content:"\f022";}.fa-lock:before{content:"\f023";}.fa-flag:before{content:"\f024";}.fa-headphones:before{content:"\f025";}.fa-volume-off:before{content:"\f026";}.fa-volume-down:before{content:"\f027";}.fa-volume-up:before{content:"\f028";}.fa-qrcode:before{content:"\f029";}.fa-barcode:before{content:"\f02a";}.fa-tag:before{content:"\f02b";}.fa-tags:before{content:"\f02c";}.fa-book:before{content:"\f02d";}.fa-bookmark:before{content:"\f02e";}.fa-print:before{content:"\f02f";}.fa-camera:before{content:"\f030";}.fa-font:before{content:"\f031";}.fa-bold:before{content:"\f032";}.fa-italic:before{content:"\f033";}.fa-text-height:before{content:"\f034";}.fa-text-width:before{content:"\f035";}.fa-align-left:before{content:"\f036";}.fa-align-center:before{content:"\f037";}.fa-align-right:before{content:"\f038";}.fa-align-justify:before{content:"\f039";}.fa-list:before{content:"\f03a";}.fa-dedent:before,.fa-outdent:before{content:"\f03b";}.fa-indent:before{content:"\f03c";}.fa-video-camera:before{content:"\f03d";}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e";}.fa-pencil:before{content:"\f040";}.fa-map-marker:before{content:"\f041";}.fa-adjust:before{content:"\f042";}.fa-tint:before{content:"\f043";}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044";}.fa-share-square-o:before{content:"\f045";}.fa-check-square-o:before{content:"\f046";}.fa-arrows:before{content:"\f047";}.fa-step-backward:before{content:"\f048";}.fa-fast-backward:before{content:"\f049";}.fa-backward:before{content:"\f04a";}.fa-play:before{content:"\f04b";}.fa-pause:before{content:"\f04c";}.fa-stop:before{content:"\f04d";}.fa-forward:before{content:"\f04e";}.fa-fast-forward:before{content:"\f050";}.fa-step-forward:before{content:"\f051";}.fa-eject:before{content:"\f052";}.fa-chevron-left:before{content:"\f053";}.fa-chevron-right:before{content:"\f054";}.fa-plus-circle:before{content:"\f055";}.fa-minus-circle:before{content:"\f056";}.fa-times-circle:before{content:"\f057";}.fa-check-circle:before{content:"\f058";}.fa-question-circle:before{content:"\f059";}.fa-info-circle:before{content:"\f05a";}.fa-crosshairs:before{content:"\f05b";}.fa-times-circle-o:before{content:"\f05c";}.fa-check-circle-o:before{content:"\f05d";}.fa-ban:before{content:"\f05e";}.fa-arrow-left:before{content:"\f060";}.fa-arrow-right:before{content:"\f061";}.fa-arrow-up:before{content:"\f062";}.fa-arrow-down:before{content:"\f063";}.fa-mail-forward:before,.fa-share:before{content:"\f064";}.fa-expand:before{content:"\f065";}.fa-compress:before{content:"\f066";}.fa-plus:before{content:"\f067";}.fa-minus:before{content:"\f068";}.fa-asterisk:before{content:"\f069";}.fa-exclamation-circle:before{content:"\f06a";}.fa-gift:before{content:"\f06b";}.fa-leaf:before{content:"\f06c";}.fa-fire:before{content:"\f06d";}.fa-eye:before{content:"\f06e";}.fa-eye-slash:before{content:"\f070";}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071";}.fa-plane:before{content:"\f072";}.fa-calendar:before{content:"\f073";}.fa-random:before{content:"\f074";}.fa-comment:before{content:"\f075";}.fa-magnet:before{content:"\f076";}.fa-chevron-up:before{content:"\f077";}.fa-chevron-down:before{content:"\f078";}.fa-retweet:before{content:"\f079";}.fa-shopping-cart:before{content:"\f07a";}.fa-folder:before{content:"\f07b";}.fa-folder-open:before{content:"\f07c";}.fa-arrows-v:before{content:"\f07d";}.fa-arrows-h:before{content:"\f07e";}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080";}.fa-twitter-square:before{content:"\f081";}.fa-facebook-square:before{content:"\f082";}.fa-camera-retro:before{content:"\f083";}.fa-key:before{content:"\f084";}.fa-gears:before,.fa-cogs:before{content:"\f085";}.fa-comments:before{content:"\f086";}.fa-thumbs-o-up:before{content:"\f087";}.fa-thumbs-o-down:before{content:"\f088";}.fa-star-half:before{content:"\f089";}.fa-heart-o:before{content:"\f08a";}.fa-sign-out:before{content:"\f08b";}.fa-linkedin-square:before{content:"\f08c";}.fa-thumb-tack:before{content:"\f08d";}.fa-external-link:before{content:"\f08e";}.fa-sign-in:before{content:"\f090";}.fa-trophy:before{content:"\f091";}.fa-github-square:before{content:"\f092";}.fa-upload:before{content:"\f093";}.fa-lemon-o:before{content:"\f094";}.fa-phone:before{content:"\f095";}.fa-square-o:before{content:"\f096";}.fa-bookmark-o:before{content:"\f097";}.fa-phone-square:before{content:"\f098";}.fa-twitter:before{content:"\f099";}.fa-facebook:before{content:"\f09a";}.fa-github:before{content:"\f09b";}.fa-unlock:before{content:"\f09c";}.fa-credit-card:before{content:"\f09d";}.fa-rss:before{content:"\f09e";}.fa-hdd-o:before{content:"\f0a0";}.fa-bullhorn:before{content:"\f0a1";}.fa-bell:before{content:"\f0f3";}.fa-certificate:before{content:"\f0a3";}.fa-hand-o-right:before{content:"\f0a4";}.fa-hand-o-left:before{content:"\f0a5";}.fa-hand-o-up:before{content:"\f0a6";}.fa-hand-o-down:before{content:"\f0a7";}.fa-arrow-circle-left:before{content:"\f0a8";}.fa-arrow-circle-right:before{content:"\f0a9";}.fa-arrow-circle-up:before{content:"\f0aa";}.fa-arrow-circle-down:before{content:"\f0ab";}.fa-globe:before{content:"\f0ac";}.fa-wrench:before{content:"\f0ad";}.fa-tasks:before{content:"\f0ae";}.fa-filter:before{content:"\f0b0";}.fa-briefcase:before{content:"\f0b1";}.fa-arrows-alt:before{content:"\f0b2";}.fa-group:before,.fa-users:before{content:"\f0c0";}.fa-chain:before,.fa-link:before{content:"\f0c1";}.fa-cloud:before{content:"\f0c2";}.fa-flask:before{content:"\f0c3";}.fa-cut:before,.fa-scissors:before{content:"\f0c4";}.fa-copy:before,.fa-files-o:before{content:"\f0c5";}.fa-paperclip:before{content:"\f0c6";}.fa-save:before,.fa-floppy-o:before{content:"\f0c7";}.fa-square:before{content:"\f0c8";}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9";}.fa-list-ul:before{content:"\f0ca";}.fa-list-ol:before{content:"\f0cb";}.fa-strikethrough:before{content:"\f0cc";}.fa-underline:before{content:"\f0cd";}.fa-table:before{content:"\f0ce";}.fa-magic:before{content:"\f0d0";}.fa-truck:before{content:"\f0d1";}.fa-pinterest:before{content:"\f0d2";}.fa-pinterest-square:before{content:"\f0d3";}.fa-google-plus-square:before{content:"\f0d4";}.fa-google-plus:before{content:"\f0d5";}.fa-money:before{content:"\f0d6";}.fa-caret-down:before{content:"\f0d7";}.fa-caret-up:before{content:"\f0d8";}.fa-caret-left:before{content:"\f0d9";}.fa-caret-right:before{content:"\f0da";}.fa-columns:before{content:"\f0db";}.fa-unsorted:before,.fa-sort:before{content:"\f0dc";}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd";}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de";}.fa-envelope:before{content:"\f0e0";}.fa-linkedin:before{content:"\f0e1";}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2";}.fa-legal:before,.fa-gavel:before{content:"\f0e3";}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4";}.fa-comment-o:before{content:"\f0e5";}.fa-comments-o:before{content:"\f0e6";}.fa-flash:before,.fa-bolt:before{content:"\f0e7";}.fa-sitemap:before{content:"\f0e8";}.fa-umbrella:before{content:"\f0e9";}.fa-paste:before,.fa-clipboard:before{content:"\f0ea";}.fa-lightbulb-o:before{content:"\f0eb";}.fa-exchange:before{content:"\f0ec";}.fa-cloud-download:before{content:"\f0ed";}.fa-cloud-upload:before{content:"\f0ee";}.fa-user-md:before{content:"\f0f0";}.fa-stethoscope:before{content:"\f0f1";}.fa-suitcase:before{content:"\f0f2";}.fa-bell-o:before{content:"\f0a2";}.fa-coffee:before{content:"\f0f4";}.fa-cutlery:before{content:"\f0f5";}.fa-file-text-o:before{content:"\f0f6";}.fa-building-o:before{content:"\f0f7";}.fa-hospital-o:before{content:"\f0f8";}.fa-ambulance:before{content:"\f0f9";}.fa-medkit:before{content:"\f0fa";}.fa-fighter-jet:before{content:"\f0fb";}.fa-beer:before{content:"\f0fc";}.fa-h-square:before{content:"\f0fd";}.fa-plus-square:before{content:"\f0fe";}.fa-angle-double-left:before{content:"\f100";}.fa-angle-double-right:before{content:"\f101";}.fa-angle-double-up:before{content:"\f102";}.fa-angle-double-down:before{content:"\f103";}.fa-angle-left:before{content:"\f104";}.fa-angle-right:before{content:"\f105";}.fa-angle-up:before{content:"\f106";}.fa-angle-down:before{content:"\f107";}.fa-desktop:before{content:"\f108";}.fa-laptop:before{content:"\f109";}.fa-tablet:before{content:"\f10a";}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b";}.fa-circle-o:before{content:"\f10c";}.fa-quote-left:before{content:"\f10d";}.fa-quote-right:before{content:"\f10e";}.fa-spinner:before{content:"\f110";}.fa-circle:before{content:"\f111";}.fa-mail-reply:before,.fa-reply:before{content:"\f112";}.fa-github-alt:before{content:"\f113";}.fa-folder-o:before{content:"\f114";}.fa-folder-open-o:before{content:"\f115";}.fa-smile-o:before{content:"\f118";}.fa-frown-o:before{content:"\f119";}.fa-meh-o:before{content:"\f11a";}.fa-gamepad:before{content:"\f11b";}.fa-keyboard-o:before{content:"\f11c";}.fa-flag-o:before{content:"\f11d";}.fa-flag-checkered:before{content:"\f11e";}.fa-terminal:before{content:"\f120";}.fa-code:before{content:"\f121";}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122";}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123";}.fa-location-arrow:before{content:"\f124";}.fa-crop:before{content:"\f125";}.fa-code-fork:before{content:"\f126";}.fa-unlink:before,.fa-chain-broken:before{content:"\f127";}.fa-question:before{content:"\f128";}.fa-info:before{content:"\f129";}.fa-exclamation:before{content:"\f12a";}.fa-superscript:before{content:"\f12b";}.fa-subscript:before{content:"\f12c";}.fa-eraser:before{content:"\f12d";}.fa-puzzle-piece:before{content:"\f12e";}.fa-microphone:before{content:"\f130";}.fa-microphone-slash:before{content:"\f131";}.fa-shield:before{content:"\f132";}.fa-calendar-o:before{content:"\f133";}.fa-fire-extinguisher:before{content:"\f134";}.fa-rocket:before{content:"\f135";}.fa-maxcdn:before{content:"\f136";}.fa-chevron-circle-left:before{content:"\f137";}.fa-chevron-circle-right:before{content:"\f138";}.fa-chevron-circle-up:before{content:"\f139";}.fa-chevron-circle-down:before{content:"\f13a";}.fa-html5:before{content:"\f13b";}.fa-css3:before{content:"\f13c";}.fa-anchor:before{content:"\f13d";}.fa-unlock-alt:before{content:"\f13e";}.fa-bullseye:before{content:"\f140";}.fa-ellipsis-h:before{content:"\f141";}.fa-ellipsis-v:before{content:"\f142";}.fa-rss-square:before{content:"\f143";}.fa-play-circle:before{content:"\f144";}.fa-ticket:before{content:"\f145";}.fa-minus-square:before{content:"\f146";}.fa-minus-square-o:before{content:"\f147";}.fa-level-up:before{content:"\f148";}.fa-level-down:before{content:"\f149";}.fa-check-square:before{content:"\f14a";}.fa-pencil-square:before{content:"\f14b";}.fa-external-link-square:before{content:"\f14c";}.fa-share-square:before{content:"\f14d";}.fa-compass:before{content:"\f14e";}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150";}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151";}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152";}.fa-euro:before,.fa-eur:before{content:"\f153";}.fa-gbp:before{content:"\f154";}.fa-dollar:before,.fa-usd:before{content:"\f155";}.fa-rupee:before,.fa-inr:before{content:"\f156";}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157";}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158";}.fa-won:before,.fa-krw:before{content:"\f159";}.fa-bitcoin:before,.fa-btc:before{content:"\f15a";}.fa-file:before{content:"\f15b";}.fa-file-text:before{content:"\f15c";}.fa-sort-alpha-asc:before{content:"\f15d";}.fa-sort-alpha-desc:before{content:"\f15e";}.fa-sort-amount-asc:before{content:"\f160";}.fa-sort-amount-desc:before{content:"\f161";}.fa-sort-numeric-asc:before{content:"\f162";}.fa-sort-numeric-desc:before{content:"\f163";}.fa-thumbs-up:before{content:"\f164";}.fa-thumbs-down:before{content:"\f165";}.fa-youtube-square:before{content:"\f166";}.fa-youtube:before{content:"\f167";}.fa-xing:before{content:"\f168";}.fa-xing-square:before{content:"\f169";}.fa-youtube-play:before{content:"\f16a";}.fa-dropbox:before{content:"\f16b";}.fa-stack-overflow:before{content:"\f16c";}.fa-instagram:before{content:"\f16d";}.fa-flickr:before{content:"\f16e";}.fa-adn:before{content:"\f170";}.fa-bitbucket:before{content:"\f171";}.fa-bitbucket-square:before{content:"\f172";}.fa-tumblr:before{content:"\f173";}.fa-tumblr-square:before{content:"\f174";}.fa-long-arrow-down:before{content:"\f175";}.fa-long-arrow-up:before{content:"\f176";}.fa-long-arrow-left:before{content:"\f177";}.fa-long-arrow-right:before{content:"\f178";}.fa-apple:before{content:"\f179";}.fa-windows:before{content:"\f17a";}.fa-android:before{content:"\f17b";}.fa-linux:before{content:"\f17c";}.fa-dribbble:before{content:"\f17d";}.fa-skype:before{content:"\f17e";}.fa-foursquare:before{content:"\f180";}.fa-trello:before{content:"\f181";}.fa-female:before{content:"\f182";}.fa-male:before{content:"\f183";}.fa-gittip:before{content:"\f184";}.fa-sun-o:before{content:"\f185";}.fa-moon-o:before{content:"\f186";}.fa-archive:before{content:"\f187";}.fa-bug:before{content:"\f188";}.fa-vk:before{content:"\f189";}.fa-weibo:before{content:"\f18a";}.fa-renren:before{content:"\f18b";}.fa-pagelines:before{content:"\f18c";}.fa-stack-exchange:before{content:"\f18d";}.fa-arrow-circle-o-right:before{content:"\f18e";}.fa-arrow-circle-o-left:before{content:"\f190";}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191";}.fa-dot-circle-o:before{content:"\f192";}.fa-wheelchair:before{content:"\f193";}.fa-vimeo-square:before{content:"\f194";}.fa-turkish-lira:before,.fa-try:before{content:"\f195";}.fa-plus-square-o:before{content:"\f196";}.fa-space-shuttle:before{content:"\f197";}.fa-slack:before{content:"\f198";}.fa-envelope-square:before{content:"\f199";}.fa-wordpress:before{content:"\f19a";}.fa-openid:before{content:"\f19b";}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c";}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d";}.fa-yahoo:before{content:"\f19e";}.fa-google:before{content:"\f1a0";}.fa-reddit:before{content:"\f1a1";}.fa-reddit-square:before{content:"\f1a2";}.fa-stumbleupon-circle:before{content:"\f1a3";}.fa-stumbleupon:before{content:"\f1a4";}.fa-delicious:before{content:"\f1a5";}.fa-digg:before{content:"\f1a6";}.fa-pied-piper:before{content:"\f1a7";}.fa-pied-piper-alt:before{content:"\f1a8";}.fa-drupal:before{content:"\f1a9";}.fa-joomla:before{content:"\f1aa";}.fa-language:before{content:"\f1ab";}.fa-fax:before{content:"\f1ac";}.fa-building:before{content:"\f1ad";}.fa-child:before{content:"\f1ae";}.fa-paw:before{content:"\f1b0";}.fa-spoon:before{content:"\f1b1";}.fa-cube:before{content:"\f1b2";}.fa-cubes:before{content:"\f1b3";}.fa-behance:before{content:"\f1b4";}.fa-behance-square:before{content:"\f1b5";}.fa-steam:before{content:"\f1b6";}.fa-steam-square:before{content:"\f1b7";}.fa-recycle:before{content:"\f1b8";}.fa-automobile:before,.fa-car:before{content:"\f1b9";}.fa-cab:before,.fa-taxi:before{content:"\f1ba";}.fa-tree:before{content:"\f1bb";}.fa-spotify:before{content:"\f1bc";}.fa-deviantart:before{content:"\f1bd";}.fa-soundcloud:before{content:"\f1be";}.fa-database:before{content:"\f1c0";}.fa-file-pdf-o:before{content:"\f1c1";}.fa-file-word-o:before{content:"\f1c2";}.fa-file-excel-o:before{content:"\f1c3";}.fa-file-powerpoint-o:before{content:"\f1c4";}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5";}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6";}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7";}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8";}.fa-file-code-o:before{content:"\f1c9";}.fa-vine:before{content:"\f1ca";}.fa-codepen:before{content:"\f1cb";}.fa-jsfiddle:before{content:"\f1cc";}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd";}.fa-circle-o-notch:before{content:"\f1ce";}.fa-ra:before,.fa-rebel:before{content:"\f1d0";}.fa-ge:before,.fa-empire:before{content:"\f1d1";}.fa-git-square:before{content:"\f1d2";}.fa-git:before{content:"\f1d3";}.fa-hacker-news:before{content:"\f1d4";}.fa-tencent-weibo:before{content:"\f1d5";}.fa-qq:before{content:"\f1d6";}.fa-wechat:before,.fa-weixin:before{content:"\f1d7";}.fa-send:before,.fa-paper-plane:before{content:"\f1d8";}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9";}.fa-history:before{content:"\f1da";}.fa-circle-thin:before{content:"\f1db";}.fa-header:before{content:"\f1dc";}.fa-paragraph:before{content:"\f1dd";}.fa-sliders:before{content:"\f1de";}.fa-share-alt:before{content:"\f1e0";}.fa-share-alt-square:before{content:"\f1e1";}.fa-bomb:before{content:"\f1e2";}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3";}.fa-tty:before{content:"\f1e4";}.fa-binoculars:before{content:"\f1e5";}.fa-plug:before{content:"\f1e6";}.fa-slideshare:before{content:"\f1e7";}.fa-twitch:before{content:"\f1e8";}.fa-yelp:before{content:"\f1e9";}.fa-newspaper-o:before{content:"\f1ea";}.fa-wifi:before{content:"\f1eb";}.fa-calculator:before{content:"\f1ec";}.fa-paypal:before{content:"\f1ed";}.fa-google-wallet:before{content:"\f1ee";}.fa-cc-visa:before{content:"\f1f0";}.fa-cc-mastercard:before{content:"\f1f1";}.fa-cc-discover:before{content:"\f1f2";}.fa-cc-amex:before{content:"\f1f3";}.fa-cc-paypal:before{content:"\f1f4";}.fa-cc-stripe:before{content:"\f1f5";}.fa-bell-slash:before{content:"\f1f6";}.fa-bell-slash-o:before{content:"\f1f7";}.fa-trash:before{content:"\f1f8";}.fa-copyright:before{content:"\f1f9";}.fa-at:before{content:"\f1fa";}.fa-eyedropper:before{content:"\f1fb";}.fa-paint-brush:before{content:"\f1fc";}.fa-birthday-cake:before{content:"\f1fd";}.fa-area-chart:before{content:"\f1fe";}.fa-pie-chart:before{content:"\f200";}.fa-line-chart:before{content:"\f201";}.fa-lastfm:before{content:"\f202";}.fa-lastfm-square:before{content:"\f203";}.fa-toggle-off:before{content:"\f204";}.fa-toggle-on:before{content:"\f205";}.fa-bicycle:before{content:"\f206";}.fa-bus:before{content:"\f207";}.fa-ioxhost:before{content:"\f208";}.fa-angellist:before{content:"\f209";}.fa-cc:before{content:"\f20a";}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b";}.fa-meanpath:before{content:"\f20c";}html,body,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,.highlight pre,.highlight .hll,a,footer .backtotop,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}body{line-height:1;}ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}b,strong{font-weight:bold;}i,em{font-style:italic;}.section{margin:0;}.widget{margin:0;}.blogger-clickTrap{display:none;}@font-face{font-family:'Roboto';src:url('../fonts/Roboto-MediumItalic-webfont.eot');src:url('../fonts/Roboto-MediumItalic-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-MediumItalic-webfont.woff') format('woff'),url('../fonts/Roboto-MediumItalic-webfont.ttf') format('truetype'),url('../fonts/Roboto-MediumItalic-webfont.svg#robotomedium_italic') format('svg');font-weight:500;font-style:italic;}@font-face{font-family:'Roboto';src:url('../fonts/Roboto-Medium-webfont.eot');src:url('../fonts/Roboto-Medium-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-Medium-webfont.woff') format('woff'),url('../fonts/Roboto-Medium-webfont.ttf') format('truetype'),url('../fonts/Roboto-Medium-webfont.svg#robotomedium') format('svg');font-weight:500;font-style:normal;}@font-face{font-family:'Roboto';src:url('../fonts/Roboto-LightItalic-webfont.eot');src:url('../fonts/Roboto-LightItalic-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-LightItalic-webfont.woff') format('woff'),url('../fonts/Roboto-LightItalic-webfont.ttf') format('truetype'),url('../fonts/Roboto-LightItalic-webfont.svg#robotolight_italic') format('svg');font-weight:300;font-style:italic;}@font-face{font-family:'Roboto';src:url('../fonts/Roboto-Light-webfont.eot');src:url('../fonts/Roboto-Light-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-Light-webfont.woff') format('woff'),url('../fonts/Roboto-Light-webfont.ttf') format('truetype'),url('../fonts/Roboto-Light-webfont.svg#robotolight') format('svg');font-weight:300;font-style:normal;}@font-face{font-family:'Roboto';src:url('../fonts/Roboto-BlackItalic-webfont.eot');src:url('../fonts/Roboto-BlackItalic-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-BlackItalic-webfont.woff') format('woff'),url('../fonts/Roboto-BlackItalic-webfont.ttf') format('truetype'),url('../fonts/Roboto-BlackItalic-webfont.svg#robotoblack_italic') format('svg');font-weight:900;font-style:italic;}@font-face{font-family:'Roboto';src:url('../fonts/Roboto-Black-webfont.eot');src:url('../fonts/Roboto-Black-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-Black-webfont.woff') format('woff'),url('../fonts/Roboto-Black-webfont.ttf') format('truetype'),url('../fonts/Roboto-Black-webfont.svg#robotoblack') format('svg');font-weight:900;font-style:normal;}.content_container .post_nav:after{content:"";display:table;clear:both;}.video_container iframe,.head .row .logo svg{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;}.content,.authorbox .avatar{display:block;position:relative;margin:0px auto;}html,body{font-family:"Roboto","Calibri","Arial",sans-serif;font-size:20px;font-weight:300;color:900;}body{line-height:1.5;background-color:#FDFDFD;background-image:url(/img/swirl.jpg);background-attachment:fixed;background-position:center;background-repeat:repeat;transition:0.3s all ease-in-out;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;}h1,h2,h3,h4,h5,h6{font-weight:500;text-transform:none;line-height:1;padding:10px 0px;}h1{font-size:2.1em;}h2{font-size:1.6em;}h3{font-size:1.2em;}h4{font-size:1em;}h5{font-size:0.83em;}h6{font-size:0.75em;}a,footer .backtotop{transition:0.3s all;color:#75535F;text-decoration:none;border-bottom:#505879 1px solid;}a:hover,footer .backtotop:hover{transiton:0.3s all;color:#505879;border-bottom:transparent 1px solid;}a.noline,footer .noline.backtotop,nav a,nav footer .backtotop,footer nav .backtotop{border-bottom:0px solid transparent;}img{max-width:100%;}iframe{width:100%;height:auto;}.video_container{position:relative;width:100%;height:0;padding:56.25% 0 0 0;}.content{width:90%;max-width:1500px;}.margin{padding-top:50px;width:100%;}.margin .content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;}@media screen and (max-width: 1330px){.margin .content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-align-items:center;-ms-flex-align:center;align-items:center;}}.error{width:100%;margin-bottom:20px;padding:10px;box-sizing:border-box;background:#FDFDFD;border:1px solid #E6DED6;}article .archive{list-style:none;padding:0;}.archive .date{opacity:0.5;font-size:0.8em;}.archive h3{padding:10px;}blockquote{margin-left:5%;padding:10px;box-sizing:border-box;border-left:1px solid #E6DED6;}code{font-family:'Source Code Pro','Courier New',monospace;}.featimg{width:100%;}@media screen and (max-width: 368px){.iconnav .tumblr,.iconnav .instagram,.iconnav .twitter,.iconnav .youtube{display:none;}}.iconnav ul{list-style:none;}.iconnav ul li{list-style:none;display:inline-block;}.iconnav ul li a,.iconnav ul li footer .backtotop,footer .iconnav ul li .backtotop{padding:0 3px;}.icon{fill:#505879;fill-rule:nonzero;stroke:#9BA4B5;stroke-width:0.05;stroke-miterlimit:4;stroke-opacity:0.94117647;stroke-dasharray:none;transition:0.3s all ease;}.twister{font-size:25px;font-weight:300;line-height:125%;fill:#4A4240;font-family:"Roboto","Calibri","Arial",sans-serif;text-transform:uppercase;transition:0.3s all ease;}.slogan{font-size:7px;font-weight:200;line-height:125%;fill:#75535F;font-family:"Roboto","Calibri","Arial",sans-serif;transition:0.3s all ease;}a:hover svg .icon,a:hover svg footer .backtotop:hover,footer a:hover svg .backtotop:hover{fill:#75535F;stroke:#4A4240;}a:hover svg .twister,a:hover svg footer .backtotop:hover,footer a:hover svg .backtotop:hover{fill:#505879;}a:hover svg .slogan,a:hover svg footer .backtotop:hover,footer a:hover svg .backtotop:hover{fill:#9BA4B5;}body.overflow{overflow:hidden;}#search{position:fixed;top:0px;left:0px;width:100%;height:100%;background-color:rgba(255, 255, 255, 0.8);transition:0.5s ease-in-out;-webkit-transform:translate(0px, -100%) scale(0, 0);-ms-transform:translate(0px, -100%) scale(0, 0);transform:translate(0px, -100%) scale(0, 0);opacity:0;display:none;}#search input[type="search"]{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);color:black;background:transparent;font-size:3em;font-weight:300;text-align:center;border:0px;outline:none;}#search.open{transition:0.5s ease-in-out;-webkit-transform:translate(0px, 0px) scale(1, 1);-ms-transform:translate(0px, 0px) scale(1, 1);transform:translate(0px, 0px) scale(1, 1);opacity:1;z-index:106;display:block;}.main_menu{background:#FDFDFD;position:relative;top:0px;width:100%;left:0px;border-top:1px solid #E6DED6;border-bottom:1px solid #E6DED6;text-transform:uppercase;}.main_menu .content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-ms-flex-align:center;align-items:center;}#menu{position:relative;display:block;background:#FDFDFD;box-sizing:border-box;color:#75535F;font-size:1em;z-index:105;}#menu a,#menu footer .backtotop,footer #menu .backtotop{color:#75535F;}#menu a:hover,#menu footer .backtotop:hover,footer #menu .backtotop:hover{color:#505879;}#menu .toggle_link{display:none;}#menu>ul{text-align:center;}#menu li{display:inline-block;padding:20px 7px;transition:0.3s all linear;}#menu li>a,#menu li>footer .backtotop,footer #menu li>.backtotop{width:100%;display:block;}#menu li:hover{transition:0.3s all linear;}#menu li:hover>a,#menu li:hover>footer .backtotop,footer #menu li:hover>.backtotop{color:#505879;}#menu .parent{margin-left:0;position:relative;}#menu .parent>a:before,#menu .parent>footer .backtotop:before,footer #menu .parent>.backtotop:before{content:"+ ";}#menu .parent>ul{padding-top:0px;display:none;}@media screen and (min-width: 1069px){#menu .parent>ul{background:#FDFDFD;position:absolute;top:100%;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:auto;border-top:1px solid #E6DED6;border-left:1px solid #E6DED6;border-right:1px solid #E6DED6;}#menu .parent>ul:before{content:"";width:10px;height:10px;background:#FDFDFD;position:absolute;top:-6px;left:50%;-webkit-transform:translateX(-50%) rotate(45deg);-ms-transform:translateX(-50%) rotate(45deg);transform:translateX(-50%) rotate(45deg);border-left:1px solid #E6DED6;border-top:1px solid #E6DED6;}}#menu .parent>ul li{display:block;padding:10px 0px;}@media screen and (min-width: 1069px){#menu .parent>ul li{padding:10px 30px;border-bottom:1px solid #E6DED6;}}#menu .parent:hover,#menu .parent:focus{cursor:pointer;}@media screen and (min-width: 1069px){#menu .parent:hover>ul,#menu .parent:focus>ul{display:block;}}@media screen and (max-width: 1068px){#menu{padding:35px 0px 0px;width:280px;height:80vh;overflow-y:sroll;overflow-x:hidden;position:fixed;top:0px;right:-320px;-webkit-transform:translate(0px, 0px);-ms-transform:translate(0px, 0px);transform:translate(0px, 0px);transition:0.3s all ease;z-index:108;box-shadow:0px 0px 5px 0px rgba(0, 0, 0, 0.5);}#menu.active{-webkit-transform:translate(-340px, 20px);-ms-transform:translate(-340px, 20px);transform:translate(-340px, 20px);transition:0.3s all ease;}#menu .toggle_link{display:block;position:absolute;top:5px;right:5px;}#menu .toggle_link:after{content:"";}#menu>ul{text-align:center;width:100%;position:relative;}#menu li{display:block;padding:10px 15px;border-top:1px solid white;}#menu li:first-of-type{border-top:0px solid transparent;}#menu li:hover{transition:0.3s all linear;background:rgba(155, 164, 181, 0.4);}#menu .parent{margin-left:0;}#menu .parent>ul{padding-top:15px;display:none;}#menu .parent>ul li{padding:10px 0px;}#menu .parent>ul li:first-of-type{border-top:1px solid white;}#menu .open>ul{display:block;}}@media screen and (min-width: 1068px){.toggle_link{display:none;}}.head{position:fixed;top:0px;left:0px;width:100%;background:#FDFDFD;z-index:20;}@media screen and (min-width: 935px){.head .ts_no_slogan,.head .ts_icon{display:none;}}@media screen and (max-width: 934px) and (min-width: 641px){.head .ts_full,.head .ts_icon{display:none;}}@media screen and (max-width: 640px){.head .ts_full,.head .ts_no_slogan{display:none;}}.head .row{position:relative;width:100%;top:0;left:0;transition:0.3s all ease-in-out;padding:110px 10px;box-sizing:border-box;overflow:hidden;}@media screen and (max-width: 640px){.head .row{padding:120px 10px;}}.head .row .logo{position:relative;width:100%;height:0;padding:22.761020127% 0 0 0;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%) scale(1);-ms-transform:translate(-50%, -50%) scale(1);transform:translate(-50%, -50%) scale(1);transition:0.3s all ease-in-out;height:100px;display:block;max-width:750px;width:50%;}.head .row .title{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%) scale(0);-ms-transform:translate(-50%, -50%) scale(0);transform:translate(-50%, -50%) scale(0);font-size:0em;font-weight:bold;text-transform:uppercase;transition:0.3s all ease-in-out;}.head .shrink{padding:0px 10px;box-sizing:border-box;}.head .shrink .logo{-webkit-transform:translate(-50%, -50%) scale(0);-ms-transform:translate(-50%, -50%) scale(0);transform:translate(-50%, -50%) scale(0);}.head .shrink .title{font-size:1em;-webkit-transform:translate(-50%, -50%) scale(1);-ms-transform:translate(-50%, -50%) scale(1);transform:translate(-50%, -50%) scale(1);}.switch{width:100%;font-size:0.8em;margin-bottom:10px;}@media screen and (max-width: 530px){.switch{display:none;}}.switch span{color:#505879;}.switch span:hover{color:#AEB9A0;cursor:pointer;}.title{width:100%;}.index article span{padding:10px;}article{box-sizing:border-box;background:#FDFDFD;margin-bottom:20px;border:1px solid #E6DED6;position:relative;}.content_container article{padding:20px;}.content_container article p{padding:0;}.index article h1,.index article p,.index article span{padding:10px;}article img{transition:0.3s all ease;}article a:hover img,article a:hover footer .backtotop:hover,footer article a:hover .backtotop:hover{opacity:0.5;}article .category,article .tags{text-transform:uppercase;}.index article .category,.index article .tags{font-size:0.7em;opacity:0.6;}.index article .date{font-size:0.7em;opacity:0.6;position:absolute;bottom:10px;left:5px;}.index article .post_content{padding-bottom:50px;}article ul,article ol{list-style:circle;padding:0 35px;}article ul li,article ol li{padding-left:0px;}article ol{list-style:decimal;}.wrapper{width:100%;border:1px solid #E6DED6;height:auto;box-sizing:border-box;background:#FDFDFD;}.short{width:100%;border-bottom:1px solid #E6DED6;}.short:hover{background:#f5f5f5;}.short a,.short footer .backtotop,footer .short .backtotop{display:block;width:100%;padding:10px;}.short a .shortdate,.short a footer .backtotop,footer .short a .backtotop{font-size:0.8em;opacity:0.8;padding-right:10px;margin-right:10px;border-right:1px solid #E6DED6;}.gallery{padding-top:30px;}.gallery img{width:100%;}.pagination{width:100%;margin:20px 0;box-sizing:border-box;text-align:center;}.pagination a,.pagination footer .backtotop,footer .pagination .backtotop,.pagination span{padding:5px 10px;border:1px solid #E6DED6;background:#FDFDFD;}.pagination .disabled{opacity:0.5;}.authorbox{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:100%;box-sizing:border-box;padding:10px;background:#FDFDFD;border:1px solid #E6DED6;margin-bottom:20px;}.authorbox .avatar{padding-right:20px;max-width:150px;}.authorbox .avatar img{border-radius:50em;}@media screen and (max-width: 510px){.authorbox .avatar{padding-right:0;}}.authorbox .info{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:100%;}@media screen and (min-width: 511px){.authorbox .info{width:calc(100% - 170px);height:100%;}}.authorbox .info .author_name,.authorbox .info .bio,.authorbox .info .social{width:100%;}.authorbox .info .social{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;letter-spacing:6px;}.content_container{width:75%;}@media screen and (max-width: 1330px){.content_container{width:100%;}}.full .content_container{width:100%;}.content_container .post_title{color:#505879;padding:10px 0;}.content_container .meta{margin:20px 0;padding:10px 0;border-top:1px solid #E6DED6;border-bottom:1px solid #E6DED6;}.content_container .featsection{margin:10px 0;}.content_container .catsandtags{margin:20px 0;padding:10px 0;border-top:1px solid #E6DED6;border-bottom:1px solid #E6DED6;line-height:2.5;}.content_container .catsandtags .category .name,.content_container .catsandtags .tags .name{font-weight:500;padding:5px;}.content_container .catsandtags a,.content_container .catsandtags footer .backtotop,footer .content_container .catsandtags .backtotop{padding:5px;background:#FDFDFD;border:1px solid #E6DED6;}.content_container .post_nav{margin:20px 0;}.content_container .post_nav a,.content_container .post_nav footer .backtotop,footer .content_container .post_nav .backtotop{padding:5px 10px;border:1px solid #E6DED6;background:#FDFDFD;}.content_container .post_nav .prev{float:left;}.content_container .post_nav .next{float:right;}@media screen and (max-width: 490px){.content_container .post_nav .long{display:none;}}@media screen and (max-width: 318px){.content_container .post_nav .short{display:none;}}.sidebar{width:calc(25% - 20px);}@media screen and (max-width: 1330px){.sidebar{width:100%;}.index .sidebar{display:none;}}footer{width:100%;box-sizing:border-box;padding:20px;border-top:1px solid #E6DED6;background:#FDFDFD;font-size:0.8em;-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;}footer .content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-ms-flex-align:center;align-items:center;}footer .backtotop:hover{cursor:pointer;}.widget{background:#FDFDFD;box-sizing:border-box;padding:10px;border:1px solid #E6DED6;margin-bottom:20px;}.widget:last-of-type{margin-bottom:0px;}.widget .title{font-weight:300;}.widget ul{list-style:armenian;padding:0 25px;}.widget ul li{padding-left:0px;}pre,.highlight pre,.highlight .hll{background-color:#f8f8f8;padding:6px 10px;border-radius:2px;overflow-x:auto;font-size:0.9em;}.highlight .c,.highlight .cm,.highlight .c1{color:#999988;}.highlight .err,.highlight .gr,.highlight .gt{color:#a61717;}.highlight .k,.highlight .o,.highlight .cp,.highlight .cs,.highlight .gs,.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .gu,.highlight .ne,.highlight .nf,.highlight .ow{font-weight:bold;}.highlight .cp,.highlight .cs,.highlight .gh{color:#999;}.highlight .gd,.highlight .gd .x,.highlight .gi,.highlight .gi .x{color:black;}.highlight .gd,.highlight .err{background-color:#e3d2d2;}.highlight .gd .x{background-color:#ffaaaa;}.highlight .gi{background-color:#ddffdd;}.highlight .gi .x{background-color:#aaffaa;}.highlight .go{color:#888;}.highlight .gp{color:#555;}.highlight .gu{color:#800080;}.highlight .kt{color:#445588;font-weight:bold;}.highlight .m{color:#009999;}.highlight .s{color:#dd1144;}.highlight .n{color:#333;}.highlight .na{color:teal;}.highlight .nb{color:#0086b3;}.highlight .nc{color:#445588;font-weight:bold;}.highlight .no{color:teal;}.highlight .ni{color:purple;}.highlight .ne{color:#990000;}.highlight .nf{color:#990000;}.highlight .nn{color:#555555;}.highlight .nt{color:navy;}.highlight .nv{color:teal;}.highlight .w{color:#bbbbbb;}.highlight .mf{color:#009999;}.highlight .mh{color:#009999;}.highlight .mi{color:#009999;}.highlight .mo{color:#009999;}.highlight .sb{color:#dd1144;}.highlight .sc{color:#dd1144;}.highlight .sd{color:#dd1144;}.highlight .s2{color:#dd1144;}.highlight .se{color:#dd1144;}.highlight .sh{color:#dd1144;}.highlight .si{color:#dd1144;}.highlight .sx{color:#dd1144;}.highlight .sr{color:#009926;}.highlight .s1{color:#dd1144;}.highlight .ss{color:#990073;}.highlight .bp{color:#999;}.highlight .vc{color:teal;}.highlight .vg{color:teal;}.highlight .vi{color:teal;}.highlight .il{color:#009999;}.highlight .gc{color:#999;background-color:#EAF2F5;}@-webkit-keyframes clockwise{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg);}}@keyframes clockwise{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg);}}@-webkit-keyframes anticlockwise{0%{-webkit-transform:rotate(360deg);transform:rotate(360deg);}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg);}}@keyframes anticlockwise{0%{-webkit-transform:rotate(360deg);transform:rotate(360deg);}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg);}}#imagelightbox{cursor:pointer;position:fixed;z-index:10000;-ms-touch-action:none;touch-action:none;}#imagelightbox-loading{border-radius:50%;width:2.5em;height:2.5em;background-color:transparent;position:fixed;z-index:10003;top:50%;left:50%;padding:0.625em;margin:-1.25em 0 0 -1.25em;}#imagelightbox-loading div{-webkit-animation:clockwise 1.5s linear infinite;animation:clockwise 1.5s linear infinite;display:block;height:2em;position:relative;width:2em;}#imagelightbox-loading div,#imagelightbox-loading div:before,#imagelightbox-loading div:after{border:0.2em solid transparent;border-radius:50%;border-top-color:#FDFDFD;margin:auto;}#imagelightbox-loading div:before,#imagelightbox-loading div:after{content:'';position:absolute;}#imagelightbox-loading div:before{-webkit-animation:anticlockwise 0.9s linear infinite;animation:anticlockwise 0.9s linear infinite;top:-0.6em;right:-0.6em;bottom:-0.6em;left:-0.6em;}#imagelightbox-loading div:after{-webkit-animation:anticlockwise 0.66s linear infinite;animation:anticlockwise 0.66s linear infinite;top:0.3em;right:0.3em;bottom:0.3em;left:0.3em;}#imagelightbox-overlay{background-color:rgba(0, 0, 0, 0.8);position:fixed;z-index:9998;top:0;right:0;bottom:0;left:0;}#imagelightbox-close{color:#FDFDFD;position:fixed;z-index:10002;top:2em;right:2em;transition:0.3s ease;border:0px solid transparent;font-size:2em;background:transparent;}#imagelightbox-close:hover,#imagelightbox-close:focus{color:#cacaca;cursor:pointer;}#imagelightbox-caption{text-align:center;color:#fff;background-color:900;position:fixed;z-index:10001;left:0;right:0;bottom:0;padding:0.3em;}.imagelightbox-arrow{width:3.75em;height:7.5em;background-color:transparent;vertical-align:middle;display:none;position:fixed;z-index:10001;top:50%;margin-top:-3.75em;border:0px solid transparent;}.imagelightbox-arrow:hover{cursor:pointer;}.imagelightbox-arrow-left{left:2.5em;}.imagelightbox-arrow-left:before{border-left:2px solid #FDFDFD;border-bottom:2px solid #FDFDFD;}.imagelightbox-arrow-left:hover:before{border-color:#b1b1b1;}.imagelightbox-arrow-right{right:2.5em;}.imagelightbox-arrow-right:before{border-top:2px solid #FDFDFD;border-right:2px solid #FDFDFD;}.imagelightbox-arrow-right:hover:before{border-color:#b1b1b1;}.imagelightbox-arrow:before{width:3em;height:3em;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);content:'';display:inline-block;margin-bottom:-0.125em;}#imagelightbox-loading,#imagelightbox-overlay,#imagelightbox-close,#imagelightbox-caption,#imagelightbox-nav,.imagelightbox-arrow{-webkit-animation:fade-in 0.25s linear;animation:fade-in 0.25s linear;}@-webkit-keyframes fade-in{from{opacity:0;}to{opacity:1;}}@keyframes fade-in{from{opacity:0;}to{opacity:1;}}@media only screen and (max-width: 41.25em){#container{width:100%;}#imagelightbox-close{top:1.25em;right:1.25em;}#imagelightbox-nav{bottom:1.25em;}.imagelightbox-arrow{width:2.5em;height:3.75em;margin-top:-2.75em;}.imagelightbox-arrow-left{left:1.25em;}.imagelightbox-arrow-right{right:1.25em;}}@media only screen and (max-width: 20em){.imagelightbox-arrow-left{left:0;}.imagelightbox-arrow-right{right:0;}}.masonry{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:100%;box-sizing:border-box;background:900;}.masonry a,.masonry footer .backtotop,footer .masonry .backtotop{width:calc((100% / 3) - 20px);padding:0;margin:10px;line-height:0;font-size:0;}.masonry a img,.masonry a footer .backtotop,footer .masonry a .backtotop{width:100%;opacity:0.8;}.masonry a:hover img,.masonry a:hover footer .backtotop:hover,footer .masonry a:hover .backtotop:hover{opacity:1;} \ No newline at end of file diff --git a/css/main.scss b/css/main.scss new file mode 100644 index 0000000..f2e566e --- /dev/null +++ b/css/main.scss @@ -0,0 +1,53 @@ +--- +# Only the main Sass file needs front matter (the dashes are enough) +--- +@charset "utf-8"; + + + +// Our variables +$base-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +$base-font-size: 16px; +$base-font-weight: 400; +$small-font-size: $base-font-size * 0.875; +$base-line-height: 1.5; + +$spacing-unit: 30px; + +$text-color: #111; +$background-color: #fdfdfd; +$brand-color: #2a7ae2; + +$grey-color: #828282; +$grey-color-light: lighten($grey-color, 40%); +$grey-color-dark: darken($grey-color, 25%); + +// Width of the content area +$content-width: 800px; + +$on-palm: 600px; +$on-laptop: 800px; + + + +// Use media queries like this: +// @include media-query($on-palm) { +// .wrapper { +// padding-right: $spacing-unit / 2; +// padding-left: $spacing-unit / 2; +// } +// } +@mixin media-query($device) { + @media screen and (max-width: $device) { + @content; + } +} + + + +// Import partials from `sass_dir` (defaults to `_sass`) +@import + "base", + "layout", + "syntax-highlighting" +; diff --git a/feed.xml b/feed.xml new file mode 100644 index 0000000..95abdae --- /dev/null +++ b/feed.xml @@ -0,0 +1,27 @@ +--- +--- + + + + {{ site.name | xml_escape }} + {% if site.description %}{{ site.description | xml_escape }}{% endif %} + {{ site.url }} + + {% for post in site.posts limit:100 %} + + {{ post.title | xml_escape }} + {% if post.author.name %} + {{ post.author.name | xml_escape }} + {% endif %} + {% if post.excerpt %} + {{ post.excerpt | xml_escape }} + {% else %} + {{ post.content | xml_escape }} + {% endif %} + {{ post.date | date: "%a, %d %b %Y %H:%M:%S %z" }} + {{ site.url }}{{ post.url }} + {{ site.url }}{{ post.url }} + + {% endfor %} + + diff --git a/file_name_and_front_matter_generator.html b/file_name_and_front_matter_generator.html new file mode 100644 index 0000000..823b8e4 --- /dev/null +++ b/file_name_and_front_matter_generator.html @@ -0,0 +1,479 @@ + + + + + Twister Front Matter Generator + + + + + + +
+

Twister Front Matter Generator

+
+

Title:

+ + put your title here. the generator will generate the filename for you +
+ +
+

Type:

+
    +
  • +
  • +
  • +
  • +
  • +
  • +
+ Choose the post format, if you choose image, the featured image is required +
+ +
+
+

featured image:

+ + put link here, file must be within media folder (do not include that in the file path) +
+
+ + + + + + + + + +
+

homedisplay

+
    +
  • + +
  • +
  • + +
  • +
+ decide what to show on index pages. iframe is only an option if type is vimeo, youtube or audio +
+ +
+

author:

+ + authorid as set within _data/authors.yml +
+ +
+

description:

+ + description to place within meta-tags +
+ +
+

tags:

+ + Post tags. Separate with commas +
+ +
+

category:

+ + Post Category. Separate with commas, if you use more than one +
+ + + +
+ + +
+ + + + diff --git a/fonts/FontAwesome.otf b/fonts/FontAwesome.otf new file mode 100644 index 0000000..81c9ad9 Binary files /dev/null and b/fonts/FontAwesome.otf differ diff --git a/fonts/Roboto-Black-webfont.eot b/fonts/Roboto-Black-webfont.eot new file mode 100644 index 0000000..fa326d1 Binary files /dev/null and b/fonts/Roboto-Black-webfont.eot differ diff --git a/fonts/Roboto-Black-webfont.svg b/fonts/Roboto-Black-webfont.svg new file mode 100644 index 0000000..cb4f799 --- /dev/null +++ b/fonts/Roboto-Black-webfont.svg @@ -0,0 +1,642 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fonts/Roboto-Black-webfont.ttf b/fonts/Roboto-Black-webfont.ttf new file mode 100644 index 0000000..3c3b2b8 Binary files /dev/null and b/fonts/Roboto-Black-webfont.ttf differ diff --git a/fonts/Roboto-Black-webfont.woff b/fonts/Roboto-Black-webfont.woff new file mode 100644 index 0000000..0229086 Binary files /dev/null and b/fonts/Roboto-Black-webfont.woff differ diff --git a/fonts/Roboto-BlackItalic-webfont.eot b/fonts/Roboto-BlackItalic-webfont.eot new file mode 100644 index 0000000..a2aebfb Binary files /dev/null and b/fonts/Roboto-BlackItalic-webfont.eot differ diff --git a/fonts/Roboto-BlackItalic-webfont.svg b/fonts/Roboto-BlackItalic-webfont.svg new file mode 100644 index 0000000..b067193 --- /dev/null +++ b/fonts/Roboto-BlackItalic-webfont.svg @@ -0,0 +1,642 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fonts/Roboto-BlackItalic-webfont.ttf b/fonts/Roboto-BlackItalic-webfont.ttf new file mode 100644 index 0000000..2020dcb Binary files /dev/null and b/fonts/Roboto-BlackItalic-webfont.ttf differ diff --git a/fonts/Roboto-BlackItalic-webfont.woff b/fonts/Roboto-BlackItalic-webfont.woff new file mode 100644 index 0000000..1875c0b Binary files /dev/null and b/fonts/Roboto-BlackItalic-webfont.woff differ diff --git a/fonts/Roboto-Light-webfont.eot b/fonts/Roboto-Light-webfont.eot new file mode 100644 index 0000000..072cdc4 Binary files /dev/null and b/fonts/Roboto-Light-webfont.eot differ diff --git a/fonts/Roboto-Light-webfont.svg b/fonts/Roboto-Light-webfont.svg new file mode 100644 index 0000000..007e41b --- /dev/null +++ b/fonts/Roboto-Light-webfont.svg @@ -0,0 +1,641 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fonts/Roboto-Light-webfont.ttf b/fonts/Roboto-Light-webfont.ttf new file mode 100644 index 0000000..3b2fea0 Binary files /dev/null and b/fonts/Roboto-Light-webfont.ttf differ diff --git a/fonts/Roboto-Light-webfont.woff b/fonts/Roboto-Light-webfont.woff new file mode 100644 index 0000000..cc534a3 Binary files /dev/null and b/fonts/Roboto-Light-webfont.woff differ diff --git a/fonts/Roboto-LightItalic-webfont.eot b/fonts/Roboto-LightItalic-webfont.eot new file mode 100644 index 0000000..77396a1 Binary files /dev/null and b/fonts/Roboto-LightItalic-webfont.eot differ diff --git a/fonts/Roboto-LightItalic-webfont.svg b/fonts/Roboto-LightItalic-webfont.svg new file mode 100644 index 0000000..8c6a0d1 --- /dev/null +++ b/fonts/Roboto-LightItalic-webfont.svg @@ -0,0 +1,641 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fonts/Roboto-LightItalic-webfont.ttf b/fonts/Roboto-LightItalic-webfont.ttf new file mode 100644 index 0000000..b9b3811 Binary files /dev/null and b/fonts/Roboto-LightItalic-webfont.ttf differ diff --git a/fonts/Roboto-LightItalic-webfont.woff b/fonts/Roboto-LightItalic-webfont.woff new file mode 100644 index 0000000..3071ff4 Binary files /dev/null and b/fonts/Roboto-LightItalic-webfont.woff differ diff --git a/fonts/Roboto-Medium-webfont.eot b/fonts/Roboto-Medium-webfont.eot new file mode 100644 index 0000000..f9ad995 Binary files /dev/null and b/fonts/Roboto-Medium-webfont.eot differ diff --git a/fonts/Roboto-Medium-webfont.svg b/fonts/Roboto-Medium-webfont.svg new file mode 100644 index 0000000..b01aa0f --- /dev/null +++ b/fonts/Roboto-Medium-webfont.svg @@ -0,0 +1,593 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fonts/Roboto-Medium-webfont.ttf b/fonts/Roboto-Medium-webfont.ttf new file mode 100644 index 0000000..8aa64d8 Binary files /dev/null and b/fonts/Roboto-Medium-webfont.ttf differ diff --git a/fonts/Roboto-Medium-webfont.woff b/fonts/Roboto-Medium-webfont.woff new file mode 100644 index 0000000..cd810ef Binary files /dev/null and b/fonts/Roboto-Medium-webfont.woff differ diff --git a/fonts/Roboto-MediumItalic-webfont.eot b/fonts/Roboto-MediumItalic-webfont.eot new file mode 100644 index 0000000..a03fe4b Binary files /dev/null and b/fonts/Roboto-MediumItalic-webfont.eot differ diff --git a/fonts/Roboto-MediumItalic-webfont.svg b/fonts/Roboto-MediumItalic-webfont.svg new file mode 100644 index 0000000..4c8dff7 --- /dev/null +++ b/fonts/Roboto-MediumItalic-webfont.svg @@ -0,0 +1,642 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fonts/Roboto-MediumItalic-webfont.ttf b/fonts/Roboto-MediumItalic-webfont.ttf new file mode 100644 index 0000000..6439927 Binary files /dev/null and b/fonts/Roboto-MediumItalic-webfont.ttf differ diff --git a/fonts/Roboto-MediumItalic-webfont.woff b/fonts/Roboto-MediumItalic-webfont.woff new file mode 100644 index 0000000..69a1458 Binary files /dev/null and b/fonts/Roboto-MediumItalic-webfont.woff differ diff --git a/fonts/fontawesome-webfont.eot b/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..84677bc Binary files /dev/null and b/fonts/fontawesome-webfont.eot differ diff --git a/fonts/fontawesome-webfont.svg b/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..b612969 --- /dev/null +++ b/fonts/fontawesome-webfont.svg @@ -0,0 +1,520 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fonts/fontawesome-webfont.ttf b/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..96a3639 Binary files /dev/null and b/fonts/fontawesome-webfont.ttf differ diff --git a/fonts/fontawesome-webfont.woff b/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..628b6a5 Binary files /dev/null and b/fonts/fontawesome-webfont.woff differ diff --git a/gruntfile.js b/gruntfile.js new file mode 100644 index 0000000..6dcc637 --- /dev/null +++ b/gruntfile.js @@ -0,0 +1,92 @@ +module.exports = function(grunt) { + + // Project configuration. + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + + uglify: { + build: { + src: 'js/*.js', + dest: 'js/build/global.min.js' + } + }, + + sass: { + options: { + outputStyle: 'compressed', + }, + dist: { + files: { + 'css/main.css': 'sass/main.scss', + 'css/grid.css': 'sass/grid.scss', + 'css/classic.css': 'sass/classic.scss' + } + } + }, + + autoprefixer: { + options: { + browsers: ['> 1%'] + }, + no_dest: { + src: 'css/*.css' // globbing is also possible here + }, + }, + + watch: { + options: { + livereload: true + }, + site: { + files: ["*.html", "**/*.html", "*.md", "**/*.md", "**/*.yml", "*.yml", "!_site/*.*", "!_site/**/*.*"], + tasks: ["shell:jekyllBuild"] + }, + js: { + files: ["js/*.js"], + tasks: ["uglify", "shell:jekyllBuild"] + }, + css: { + files: ["sass/*.scss", "sass/partials/*.scss", "sass/partials/components/*.scss", "sass/partials/layout/*.scss", "sass/modules/*.scss"], + tasks: ["sass", "autoprefixer", "shell:jekyllBuild"] + } + }, + + buildcontrol: { + options: { + dir: '_site', + commit: true, + push: true, + message: 'Built _site from commit %sourceCommit% on branch %sourceBranch%' + }, + pages: { + options: { + remote: 'https://github.com/user/reponame.git', // change that + branch: 'gh-pages' // adjust here + } + } + }, + + shell: { + jekyllServe: { + command: "jekyll serve --no-watch" + }, + jekyllBuild: { + command: "jekyll build" + } + } + }); + + + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-sass'); + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-autoprefixer'); + grunt.loadNpmTasks('grunt-shell'); + grunt.loadNpmTasks('grunt-build-control'); + + // Default task(s). + + grunt.registerTask("serve", ["shell:jekyllServe"]); + grunt.registerTask("default", ["sass", "autoprefixer", "shell:jekyllBuild", "watch"]); + grunt.registerTask("deploy", ["buildcontrol:pages"]); +}; diff --git a/img/1.jpg b/img/1.jpg new file mode 100644 index 0000000..694e255 Binary files /dev/null and b/img/1.jpg differ diff --git a/img/2.jpg b/img/2.jpg new file mode 100644 index 0000000..5e11d4c Binary files /dev/null and b/img/2.jpg differ diff --git a/img/3.jpg b/img/3.jpg new file mode 100644 index 0000000..1a3a2b6 Binary files /dev/null and b/img/3.jpg differ diff --git a/img/4.jpg b/img/4.jpg new file mode 100644 index 0000000..c00caf5 Binary files /dev/null and b/img/4.jpg differ diff --git a/img/5.jpg b/img/5.jpg new file mode 100644 index 0000000..a0251af Binary files /dev/null and b/img/5.jpg differ diff --git a/img/6.jpg b/img/6.jpg new file mode 100644 index 0000000..9171760 Binary files /dev/null and b/img/6.jpg differ diff --git a/img/7.jpg b/img/7.jpg new file mode 100644 index 0000000..14cb72b Binary files /dev/null and b/img/7.jpg differ diff --git a/img/8.jpg b/img/8.jpg new file mode 100644 index 0000000..d9b9a8e Binary files /dev/null and b/img/8.jpg differ diff --git a/img/galleries/gallery-standard-post/1.jpg b/img/galleries/gallery-standard-post/1.jpg new file mode 100644 index 0000000..d023350 Binary files /dev/null and b/img/galleries/gallery-standard-post/1.jpg differ diff --git a/img/galleries/gallery-standard-post/2.jpg b/img/galleries/gallery-standard-post/2.jpg new file mode 100644 index 0000000..644e947 Binary files /dev/null and b/img/galleries/gallery-standard-post/2.jpg differ diff --git a/img/galleries/gallery-standard-post/3.jpg b/img/galleries/gallery-standard-post/3.jpg new file mode 100644 index 0000000..c2b10fa Binary files /dev/null and b/img/galleries/gallery-standard-post/3.jpg differ diff --git a/img/galleries/gallery-standard-post/4.jpg b/img/galleries/gallery-standard-post/4.jpg new file mode 100644 index 0000000..e100474 Binary files /dev/null and b/img/galleries/gallery-standard-post/4.jpg differ diff --git a/img/galleries/gallery-standard-post/5.jpg b/img/galleries/gallery-standard-post/5.jpg new file mode 100644 index 0000000..142a0b1 Binary files /dev/null and b/img/galleries/gallery-standard-post/5.jpg differ diff --git a/img/galleries/gallery-standard-post/6.jpg b/img/galleries/gallery-standard-post/6.jpg new file mode 100644 index 0000000..67106b2 Binary files /dev/null and b/img/galleries/gallery-standard-post/6.jpg differ diff --git a/img/galleries/gallery-standard-post/7.jpg b/img/galleries/gallery-standard-post/7.jpg new file mode 100644 index 0000000..3665597 Binary files /dev/null and b/img/galleries/gallery-standard-post/7.jpg differ diff --git a/img/galleries/gallery-standard-post/8.jpg b/img/galleries/gallery-standard-post/8.jpg new file mode 100644 index 0000000..244dde7 Binary files /dev/null and b/img/galleries/gallery-standard-post/8.jpg differ diff --git a/img/profile-pic.jpg b/img/profile-pic.jpg new file mode 100644 index 0000000..6ffba55 Binary files /dev/null and b/img/profile-pic.jpg differ diff --git a/img/swirl.jpg b/img/swirl.jpg new file mode 100644 index 0000000..ee6a5bd Binary files /dev/null and b/img/swirl.jpg differ diff --git a/img/twister_preview_big.jpg b/img/twister_preview_big.jpg new file mode 100644 index 0000000..02c279b Binary files /dev/null and b/img/twister_preview_big.jpg differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..bb7fcfd --- /dev/null +++ b/index.html @@ -0,0 +1,56 @@ +--- +layout: index +description: the good site of life +--- +{% for post in paginator.posts %} + {% include article_index.html %} +{% endfor %} + +{% if paginator.total_pages > 1 %} + +{% endif %} diff --git a/js/1-jquery-2.1.1.min.js b/js/1-jquery-2.1.1.min.js new file mode 100644 index 0000000..e5ace11 --- /dev/null +++ b/js/1-jquery-2.1.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!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=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,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=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.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},n.extend=n.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||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},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=s(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(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;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=s(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&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=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);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(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&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.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?n.extend(a,d):d}},e={};return d.pipe=d.then,n.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&&n.isFunction(a.promise)?e:0,g=1===f?a:n.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]&&n.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;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;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};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b) +},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.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.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.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 L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!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(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=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=jb(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=jb(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?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(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,n.cleanData(ob(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,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("