diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..74b5d71 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +# Hidden files +.DS_Store +.sass-cache +.voog + +# Visible files + +# Folders +bower_components/ +node_modules/ diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000..f7aef65 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,295 @@ +module.exports = function(grunt) { + 'use strict'; + + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + + // Removes old files. + clean: { + reset: { + src: ['assets', 'images', 'javascripts', 'stylesheets'] + }, + + remove: { + src: ['sources/components/custom-styles/tmp'] + } + }, + + modernizr_builder: { + build: { + options: { + config: 'modernizr-config.json', + dest: 'javascripts/modernizr-custom.min.js', + uglify: true + } + } + }, + + // Concatenates the javascript source files to the javascripts folder. + concat: { + build: { + src: [ + 'bower_components/textarea-autosize/dist/jquery.textarea_autosize.js', + 'sources/javascripts/concat/*.js' + ], + dest: 'javascripts/main.js' + } + }, + + // Minifies the javascript files. + uglify: { + build: { + files: [{ + expand: true, + cwd: 'javascripts/', + src: [ + '*.js', + '!*.min.js' + ], + dest: 'javascripts/', + ext: '.min.js' + }] + } + }, + + // Compiles the stylesheet files. + sass: { + build_main: { + options: { + style: 'expanded', + sourcemap: 'none' + }, + files: [{ + expand: true, + cwd: 'sources/stylesheets', + src: 'main.scss', + dest: 'stylesheets/', + ext: '.css' + }] + }, + + // Builds custom style components to temporary folder. + build_custom_styles: { + options: { + style: 'expanded', + sourcemap: 'none' + }, + files: [{ + expand: true, + cwd: 'sources/components/custom-styles', + src: '*.scss', + dest: 'sources/components/custom-styles/tmp', + ext: '.css' + }] + } + }, + + postcss: { + options: { + processors: [ + require('autoprefixer')({browsers: 'last 4 versions'}) + ] + }, + main_styles: { + src: [ + 'stylesheets/*.css', + 'stylesheets/!*.min.css' + ] + }, + custom_styles: { + src: [ + 'sources/components/custom-styles/tmp/*.css' + ] + } + }, + + // Minifies the stylesheet files. + cssmin: { + build: { + expand: true, + cwd: 'stylesheets/', + src: [ + '*.css', + '!*.min.css' + ], + dest: 'stylesheets/', + ext: '.min.css' + } + }, + + // Minifies the image files. + imagemin: { + build_images: { + files: [{ + expand: true, + cwd: 'sources/images/minify', + src: '*.{png,jpg,gif}', + dest: 'images/' + }] + }, + + build_assets: { + files: [{ + expand: true, + cwd: 'sources/assets/minify', + src: '*.svg', + dest: 'assets/' + }] + } + }, + + // Copys the files from the source folders to the layout folders. + copy: { + assets: { + files: [ + { + expand: true, + cwd: 'sources/assets/copy', + src: '*', + dest: 'assets/' + } + ] + }, + + images: { + files: [ + { + expand: true, + cwd: 'sources/images/copy', + src: '*', + dest: 'images/' + } + ] + }, + + javascripts: { + files: [ + { + expand: true, + cwd: 'sources/javascripts/copy', + src: '*', + dest: 'javascripts/' + } + ] + }, + + // Copies the compiled css files from temporary folder to "components" + // folder and renames the files to ""*.tpl". + custom_styles: { + files: [ + { + expand: true, + cwd: 'sources/components/custom-styles/tmp', + src: '*.css', + dest: 'components', + ext: '.tpl' + } + ] + } + }, + + // Executes the Voog Kit toolkit manifest generation and file upload commands. + exec: { + kitmanifest: { + cmd: function(file) { + return 'kit manifest'; + } + }, + + kit: { + cmd: function(file) { + if (grunt.option('site')) { + return 'kit push -s ' + grunt.option('site') + ' ' + file; + } else { + return 'kit push ' + file; + } + } + } + }, + + // Watches the project for changes and recompiles the output files. + watch: { + modernizr: { + files: 'modernizr-config.json', + tasks: ['modernizr_builder:build'] + }, + + js_copy: { + files: 'sources/javascripts/copy/*.js', + tasks: ['copy:javascripts', 'exec:kitmanifest', 'exec:kit:javascripts/*.js'] + }, + + js_concat: { + files: 'sources/javascripts/concat/*.js', + tasks: ['concat:build', 'uglify:build', 'exec:kitmanifest', 'exec:kit:javascripts/*.js'] + }, + + css_main: { + files: [ + 'sources/stylesheets/*.scss', + 'sources/stylesheets/*/*.scss', + ], + tasks: ['sass:build_main', 'postcss', 'cssmin:build', 'exec:kitmanifest', 'exec:kit:stylesheets/*.css'] + }, + + custom_styles: { + files: 'sources/components/custom-styles/*.scss', + tasks: ['sass:build_custom_styles', 'postcss:custom_styles', 'copy:custom_styles', 'clean:remove', 'exec:kitmanifest'] + }, + + img_copy: { + files: 'sources/images/copy/*', + tasks: [ 'copy:images', 'exec:kitmanifest', 'exec:kit:images/*'] + }, + + img_minify: { + files: 'sources/images/minify/*', + tasks: ['imagemin:build_images', 'exec:kitmanifest', 'exec:kit:images/*'] + }, + + assets_copy: { + files: 'sources/assets/copy/*', + tasks: ['copy:assets', 'exec:kitmanifest', 'exec:kit:assets/*'] + }, + + assets_minify: { + files: 'sources/assets/minify/*', + tasks: ['imagemin:build_assets', 'exec:kitmanifest', 'exec:kit:assets/*'] + }, + + voog: { + files: ['layouts/*.tpl', 'components/*.tpl'], + options: { + spawn: false + } + } + } + }); + + grunt.loadNpmTasks('grunt-contrib-clean'); + grunt.loadNpmTasks('grunt-contrib-concat'); + grunt.loadNpmTasks('grunt-contrib-copy'); + grunt.loadNpmTasks('grunt-contrib-cssmin'); + grunt.loadNpmTasks('grunt-contrib-imagemin'); + grunt.loadNpmTasks('grunt-contrib-sass'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-exec'); + grunt.loadNpmTasks('grunt-modernizr-builder'); + grunt.loadNpmTasks('grunt-postcss'); + + grunt.registerTask('default', ['clean:reset', 'modernizr_builder', 'concat', 'uglify', 'sass', 'postcss:main_styles', 'cssmin', 'imagemin', 'postcss:custom_styles', 'copy', 'clean:remove']); + + grunt.event.on('watch', function(action, filepath, target) { + if (target == 'voog') { + if (action == 'added' || action == 'deleted') { + grunt.task.run(['exec:kitmanifest']); + } + if (grunt.file.exists('.voog')) { + if (action != 'deleted') { + grunt.task.run(['exec:kit:' + filepath]); + } + } + } + }); +}; diff --git a/README.md b/README.md new file mode 100644 index 0000000..9f6b3cd --- /dev/null +++ b/README.md @@ -0,0 +1,24 @@ +# The Dorpat design template for [Voog](https://www.voog.com) + +## Set up the developing environment +To modify this template [Node Package Manager](https://www.npmjs.org/) (or [Node.js](http://www.nodejs.org/)), [Bower](http://www.bower.io/) and [Grunt](http://www.gruntjs.com/) must be installed. + +To set up the local developing environment, clone this repository and run the following commands: + +* Install Grunt dependencies: ```npm install``` +* Install Bower dependencies: ```bower install``` +* Run Grunt tasks: ```grunt``` + +To sync the template with your **Voog** sites, set up the [Voog Developer Toolkit](http://www.voog.com/developers/kit) + +## Watch and update modifications +* To watch (and synchronize) modified files in real time (**on the default site**) start the Grunt watcher task: + * **Example:** ```grunt watch``` + * **Notes:** + * Default site is the first site defined in the **.voog** configuration file. + * If the **.voog** file is missing, the watcher will only update the output files on the local computer. +* To watch **specific site** start the Grunt watcher with **--site** parameter value. + * **Example:** ```grunt watch --site=mysite.voog.com``` + * **Notes:** + * Possible **--site** values are the site names defined in the **.voog** configuration file. + * If the **.voog** file is missing, the watcher will ignore the **--site** parameter and updates the output files only on the local computer. diff --git a/assets/ico-arrow-white.svg b/assets/ico-arrow-white.svg new file mode 100644 index 0000000..228746b --- /dev/null +++ b/assets/ico-arrow-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/ico-arrow.svg b/assets/ico-arrow.svg new file mode 100644 index 0000000..8b99894 --- /dev/null +++ b/assets/ico-arrow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/ico-flags.svg b/assets/ico-flags.svg new file mode 100644 index 0000000..1aed895 --- /dev/null +++ b/assets/ico-flags.svg @@ -0,0 +1 @@ +21 x 15 px \ No newline at end of file diff --git a/bower.json b/bower.json new file mode 100644 index 0000000..dc84ef7 --- /dev/null +++ b/bower.json @@ -0,0 +1,13 @@ +{ + "name": "voog-design-dorpat", + "homepage": "https://github.com/Voog/design-dorpat", + "authors": [ + "Siim Häelm " + ], + "description": "The Dorpat design template for Voog", + "license": "MIT", + "devDependencies": { + "bourbon": "^4.3.4", + "textarea-autosize": "^0.4.2" + } +} diff --git a/components/article-settings-editor.tpl b/components/article-settings-editor.tpl new file mode 100644 index 0000000..efe37c5 --- /dev/null +++ b/components/article-settings-editor.tpl @@ -0,0 +1,142 @@ +{% if editmode %} +
+ +
+{% endif %} + +{% editorjsblock %} + + + + + +{% endeditorjsblock %} \ No newline at end of file diff --git a/components/blog-article-comments.tpl b/components/blog-article-comments.tpl new file mode 100644 index 0000000..a99cdba --- /dev/null +++ b/components/blog-article-comments.tpl @@ -0,0 +1,64 @@ +
+
+
+

{{ "add_a_comment" | lc }}

+
+ +
+ {% commentform %} + {% unless comment.valid? %} + {% for error in comment.errors %} + {% if error == "comment_author_blank" %}{% assign comment_name_error = true %}{% endif %} + {% if error == "comment_email_blank" %}{% assign comment_email_error = true %}{% endif %} + {% if error == "comment_body_blank" %}{% assign comment_body_error = true %}{% endif %} + {%endfor %} + {% endunless %} + +
+
+
+ + +
+ +
+ + +
+ +
+ + +
+
+ +
+ +
+
+ {% endcommentform %} +
+ + {% if article.comments_count > 0 %} +
{{ "comments_for_count" | lc }} ({{ article.comments_count }})
+
+ {% for comment in article.comments %} +
+ {{ comment.body_html }} + {{ comment.author }} · + {{ comment.created_at | format_date: "long" }} + {% removebutton %} +
+ {% endfor %} +
+ {% endif %} + +
+
+ + + +
+
+
+
diff --git a/components/blog-article-tags.tpl b/components/blog-article-tags.tpl new file mode 100644 index 0000000..c8cafe4 --- /dev/null +++ b/components/blog-article-tags.tpl @@ -0,0 +1,15 @@ +{% if editmode and blog_article_page %} +
+
{% editable article.tags %}
+
+{% else %} + {% unless article.tags == empty %} +
+ +
+ {% endunless %} +{% endif %} diff --git a/components/blog-article-template.tpl b/components/blog-article-template.tpl new file mode 100644 index 0000000..e9c8fb2 --- /dev/null +++ b/components/blog-article-template.tpl @@ -0,0 +1,39 @@ +
+ {% comment %}{% endcomment %} + {% unless blog_article_page %} +
+ {% assign article_year = article.created_at | format_date: "%Y" | to_num %} + + {% if article_year == current_year %} + {% assign article_date_format = "long_without_year" %} + {% else %} + {% assign article_date_format = "long" %} + {% endif %} + + + +

{% if blog-article-template == "blog_article_page" %}{% editable article.title %}{% else %}{{ article.title }}{% endif %}

+ {% include "blog-article-tags" %} +
+ {% endunless %} + + {% comment %}{% endcomment %} + {% if blog-article-template == "blog_article_page" %} +
+
{% editable article.excerpt %}
+
{% editable article.body %}
+
{% content name="additional_body" bind="Article" %}
+
+ {% comment %}{% endcomment %} + {% else %} +
+
{{ article.excerpt }}
+ {% if article.data.photo_article_state and article.data.header_bg != "" and article.data.header_bg != nil %} +
+ +
+ {% endif %} + {{ "read_more" | lc }} +
+ {% endif %} +
diff --git a/components/blog-article-variables.tpl b/components/blog-article-variables.tpl new file mode 100644 index 0000000..10fdf78 --- /dev/null +++ b/components/blog-article-variables.tpl @@ -0,0 +1,3 @@ +{% capture dont_render %} + {% assign current_year = "now" | date: "%Y" | to_num %} +{% endcapture %} diff --git a/components/blog-news-tags.tpl b/components/blog-news-tags.tpl new file mode 100644 index 0000000..9c6f40b --- /dev/null +++ b/components/blog-news-tags.tpl @@ -0,0 +1,36 @@ +{% if blog.has_tags? %} +
+
+
+ + + +
+
{{ 'filter_posts' | lc }}
+ +
+
+ + +
+{% endif %} diff --git a/components/blog-settings-editor.tpl b/components/blog-settings-editor.tpl new file mode 100644 index 0000000..2feef2c --- /dev/null +++ b/components/blog-settings-editor.tpl @@ -0,0 +1,120 @@ +{% if editmode %} +
+ +
+{% endif %} + +{% editorjsblock %} + + + + + +{% endeditorjsblock %} \ No newline at end of file diff --git a/components/blog-settings-variables.tpl b/components/blog-settings-variables.tpl new file mode 100644 index 0000000..27f4636 --- /dev/null +++ b/components/blog-settings-variables.tpl @@ -0,0 +1,23 @@ +{% if article.data.article_settings.show_date == true or article.data.article_settings.show_date == false %} + {% assign show_article_date = article.data.article_settings.show_date %} +{% elsif site.data.article_settings.show_dates == false %} + {% assign show_article_date = false %} +{% else %} + {% assign show_article_date = true %} +{% endif %} + +{% if article.data.article_settings.show_comments == true or article.data.article_settings.show_comments == false %} + {% assign show_article_comments = article.data.article_settings.show_comments %} +{% elsif site.data.article_settings.show_comments == false %} + {% assign show_article_comments = false %} +{% else %} + {% assign show_article_comments = true %} +{% endif %} + +{% if article.data.article_settings.show_author == true or article.data.article_settings.show_author == false %} + {% assign show_article_author = article.data.article_settings.show_author %} +{% elsif site.data.article_settings.show_authors == false %} + {% assign show_article_author = false %} +{% else %} + {% assign show_article_author = true %} +{% endif %} diff --git a/components/common-page-variables.tpl b/components/common-page-variables.tpl new file mode 100644 index 0000000..da7c436 --- /dev/null +++ b/components/common-page-variables.tpl @@ -0,0 +1,46 @@ +{% capture dont_render %} + {% for item in site.menuitems_with_hidden %} + {% if item.selected? %} + {% if editmode %} + {% assign sidebar_active = true %} + {% else %} + {% if item.layout_title == product_list_layout %} + {% assign item_content_children_size = 0 %} + + {% for subitem in item.visible_children %} + {% unless subitem.layout_title == product_list_layout or subitem.layout_title == product_layout %} + {% assign item_content_children_size = item_content_children_size | plus: 1 %} + {% endunless %} + + {% if item_content_children_size == 1 %} + {% assign sidebar_active = true %} + {% break %} + {% endif %} + {% endfor %} + {% else %} + {% if item.visible_children.size > 0 %} + {% assign sidebar_active = true %} + {% endif %} + {% endif %} + {% endif %} + {% endif %} + {% endfor %} + + {% capture main_html %}{% unless editmode %}{% content %}{% endunless %}{% endcapture %} + {% capture main_size %}{{ main_html | size | minus : 1 }}{% endcapture %} + {% unless main_size contains "-" %} + {% assign main_has_content = true %} + {% endunless %} + + {% capture left_html %}{% unless editmode %}{% content name="left" %}{% endunless %}{% endcapture %} + {% capture left_size %}{{ left_html | size | minus : 1 }}{% endcapture %} + {% unless left_size contains "-" %} + {% assign left_has_content = true %} + {% endunless %} + + {% capture right_html %}{% unless editmode %}{% content name="right" %}{% endunless %}{% endcapture %} + {% capture right_size %}{{ right_html | size | minus : 1 }}{% endcapture %} + {% unless right_size contains "-" %} + {% assign right_has_content = true %} + {% endunless %} +{% endcapture %} diff --git a/components/front-page-variables.tpl b/components/front-page-variables.tpl new file mode 100644 index 0000000..f39d979 --- /dev/null +++ b/components/front-page-variables.tpl @@ -0,0 +1,49 @@ +{% capture dont_render %} + {% capture main_content_html %}{% unless editmode %}{% content %}{% endunless %}{% endcapture %} + {% capture main_content_size %}{{ main_content_html | size | minus : 1 }}{% endcapture %} + {% unless main_content_size contains "-" %} + {% assign main_content_has_content = true %} + {% endunless %} + + {% if page.data.feature_image_1 == nil %} + {% assign feature_image_1 = images_path | append: "/feature-image-1_large.jpg" %} + {% else %} + {% assign feature_image_1 = page.data.feature_image_1.url %} + {% endif %} + + {% capture feature_1_html %}{% unless editmode %}{% content name="feature_1" %}{% endunless %}{% endcapture %} + {% capture feature_1_size %}{{ feature_1_html | size | minus : 1 }}{% endcapture %} + {% unless feature_1_size contains "-" %} + {% assign feature_1_has_content = true %} + {% endunless %} + + {% if page.data.feature_image_2 == nil %} + {% assign feature_image_2 = images_path | append: "/feature-image-2_large.jpg" %} + {% else %} + {% assign feature_image_2 = page.data.feature_image_2.url %} + {% endif %} + + {% capture feature_2_html %}{% unless editmode %}{% content name="feature_2" %}{% endunless %}{% endcapture %} + {% capture feature_2_size %}{{ feature_2_html | size | minus : 1 }}{% endcapture %} + {% unless feature_2_size contains "-" %} + {% assign feature_2_has_content = true %} + {% endunless %} + + {% if page.data.feature_image_3 == nil %} + {% assign feature_image_3 = images_path | append: "/feature-image-3_large.jpg" %} + {% else %} + {% assign feature_image_3 = page.data.feature_image_3.url %} + {% endif %} + + {% capture feature_3_html %}{% unless editmode %}{% content name="feature_3" %}{% endunless %}{% endcapture %} + {% capture feature_3_size %}{{ feature_3_html | size | minus : 1 }}{% endcapture %} + {% unless feature_3_size contains "-" %} + {% assign feature_3_has_content = true %} + {% endunless %} + + {% capture bottom_html %}{% unless editmode %}{% content name="bottom" %}{% endunless %}{% endcapture %} + {% capture bottom_size %}{{ bottom_html | size | minus : 1 }}{% endcapture %} + {% unless bottom_size contains "-" %} + {% assign bottom_has_content = true %} + {% endunless %} +{% endcapture %} diff --git a/components/html-head.tpl b/components/html-head.tpl new file mode 100644 index 0000000..ef30c10 --- /dev/null +++ b/components/html-head.tpl @@ -0,0 +1,58 @@ +{% comment %}IE SETTINGS{% endcomment %} + + +{% comment %}META INFO{% endcomment %} + + + + +{% comment %}FAV ICON{% endcomment %} +{% if site.has_favicon? %} + + + +{% endif %} + +{% comment %}STYLESHEETS{% endcomment %} +{% if editmode %} + +{% endif %} +{% stylesheet_link "main.min.css?v2" %} + +{% comment %}Google fonts for Design Editor{% endcomment %} + + +{% customstyle %} + {% include "template-cs-main-styles" %} + + {% if front_page %} + {% include "template-cs-header-front" %} + {% else %} + {% include "template-cs-header" %} + {% endif %} + + {% include "template-cs-headings" %} + {% include "template-cs-content" %} + {% include "template-cs-button" %} + {% include "template-cs-table" %} + {% include "template-cs-form" %} + {% include "template-cs-footer" %} + + {% if sidebar %} + {% include "template-cs-sidebar" %} + {% endif %} + + {% include "template-cs-style-rules" %} +{% endcustomstyle %} + +{% comment %}MODERNIZR - HTML5 SUPPORT FOR OLDER BROWSERS, SVG SUPPORT DETECTION ETC{% endcomment %} + + +{% comment %}SITE TITLE{% endcomment %} +{% capture page_title %}{% if article %}{{ article.title }}{% unless page.site_title == "" %} — {{ page.site_title }}{% endunless %}{% else %}{% if site.root_item.selected? and page.site_title != "" %}{{ page.site_title }}{% else %}{{ page.title }}{% unless page.site_title == "" %} — {{ page.site_title }}{% endunless %}{% endif %}{% endif %}{% endcapture %} +{{ page_title }} + +{% comment %}MISC{% endcomment %} +{% include "template-meta" %} +{% if blog %}{{ blog.rss_link }}{% endif %} +{{ site.stats_header }} diff --git a/components/menu-breadcrumbs.tpl b/components/menu-breadcrumbs.tpl new file mode 100644 index 0000000..e64f7a9 --- /dev/null +++ b/components/menu-breadcrumbs.tpl @@ -0,0 +1,60 @@ + diff --git a/components/menu-language-popover.tpl b/components/menu-language-popover.tpl new file mode 100644 index 0000000..894a960 --- /dev/null +++ b/components/menu-language-popover.tpl @@ -0,0 +1,19 @@ + diff --git a/components/menu-language.tpl b/components/menu-language.tpl new file mode 100644 index 0000000..38f1c10 --- /dev/null +++ b/components/menu-language.tpl @@ -0,0 +1,33 @@ +{% if editmode or site.has_many_languages? %} + {% if editmode or language_menu_mode == "language-menu-mode-popover" %} + + {% endif %} + + {% if editmode or language_menu_mode == "language-menu-mode-list" %} + + {% endif %} +{% endif %} diff --git a/components/menu-level-1-link.tpl b/components/menu-level-1-link.tpl new file mode 100644 index 0000000..3fb6285 --- /dev/null +++ b/components/menu-level-1-link.tpl @@ -0,0 +1,3 @@ + diff --git a/components/menu-level-2-link.tpl b/components/menu-level-2-link.tpl new file mode 100644 index 0000000..66554a9 --- /dev/null +++ b/components/menu-level-2-link.tpl @@ -0,0 +1,18 @@ +
  • + {% menulink subitem %} + + {% if subitem.selected? and subitem.children? or editmode %} + + {% endif %} +
  • diff --git a/components/menu-main.tpl b/components/menu-main.tpl new file mode 100644 index 0000000..363e6d3 --- /dev/null +++ b/components/menu-main.tpl @@ -0,0 +1,42 @@ + diff --git a/components/menu-mobile-level-1-link.tpl b/components/menu-mobile-level-1-link.tpl new file mode 100644 index 0000000..08f68e1 --- /dev/null +++ b/components/menu-mobile-level-1-link.tpl @@ -0,0 +1,51 @@ + diff --git a/components/menu-mobile-level-2-link.tpl b/components/menu-mobile-level-2-link.tpl new file mode 100644 index 0000000..8ffb58f --- /dev/null +++ b/components/menu-mobile-level-2-link.tpl @@ -0,0 +1,26 @@ + + {% menulink level2 %} + + {% if level2.children? %} + + {% endif %} + + {% if editmode or level2.children? %} + + {% endif %} + diff --git a/components/menu-mobile.tpl b/components/menu-mobile.tpl new file mode 100644 index 0000000..6a9687f --- /dev/null +++ b/components/menu-mobile.tpl @@ -0,0 +1,53 @@ +
    + + + {% if editmode or site.has_many_languages? %} +
    +
      + {% for language in site.languages %} +
    • + {{ language.title }} +
    • + {% endfor %} + {% if editmode %} +
    • {% languageadd %}
    • + {% endif %} +
    +
    + {% endif %} +
    diff --git a/components/menu-sub.tpl b/components/menu-sub.tpl new file mode 100644 index 0000000..d76a3d0 --- /dev/null +++ b/components/menu-sub.tpl @@ -0,0 +1,16 @@ +{% for item in site.menuitems %} + {% if item.selected? and item.children? or editmode %} + + {% endif %} +{% endfor %} diff --git a/components/product-list-item.tpl b/components/product-list-item.tpl new file mode 100644 index 0000000..e59004a --- /dev/null +++ b/components/product-list-item.tpl @@ -0,0 +1,53 @@ +{% unless menu_level.image %} + {% assign item_image_state = "without-image" %} +{% else %} + {% assign item_image_state = "with-image" %} + + {% if menu_level.image.width > menu_level.image.height %} + {% assign item_image_orientation = "image-landscape" %} + {% elsif menu_level.image.width == menu_level.image.height %} + {% assign item_image_orientation = "image-square" %} + {% else %} + {% assign item_image_orientation = "image-portrait" %} + {% endif %} + + {% if menu_level.data.image_crop_state %} + {% assign item_image_crop_state = menu_level.data.image_crop_state %} + {% else %} + {% assign item_image_crop_state = "not-cropped" %} + {% endif %} +{% endunless %} + +{% if editmode %} +
    +
    + + +
    +
    +
    + +

    + {{ menu_level.title }} +

    +
    +{% else %} + +
    +
    + {% if menu_level.image %} +
    + + {% else %} +
    {{ menu_level.title | truncate: 50 }}
    + {% endif %} +
    +
    + +

    {{ menu_level.title }}

    +
    +{% endif %} diff --git a/components/site-footer.tpl b/components/site-footer.tpl new file mode 100644 index 0000000..1c83921 --- /dev/null +++ b/components/site-footer.tpl @@ -0,0 +1,55 @@ +{% if editmode or footer_has_content or site.branding.enabled %} + +{% endif %} + +{% include "menu-language-popover" %} + diff --git a/components/site-header.tpl b/components/site-header.tpl new file mode 100644 index 0000000..fbfad2a --- /dev/null +++ b/components/site-header.tpl @@ -0,0 +1,99 @@ +
    +
    +
    +
    + + {% if render_header_top %} +
    +
    + +
    + +
    + +
    + {% include "menu-main" %} + +
    +
    + {% include "menu-language" %} + + {% if site.search.enabled %} + + {% endif %} +
    + + {% if render_menu_main %} + + {% endif %} +
    + + {% include "site-search" %} + +
    + +
    +
    + {% endif %} + +
    + {% if editmode %} + {% if blog_article_page %} + +
    + + +
    + {% else %} + + {% endif %} + {% endif %} + +
    + + {% if front_page %} +
    +
    + {% content name="header" %} +
    +
    + {% elsif blog_article_page %} +
    +
    + {% comment %}Photo article header components{% endcomment %} + {% if photo_article %}

    {% if editmode %}{% editable article.title %}{% else %}{{ article.title }}{% endif %}

    {% endif %} + + {% assign article_year = article.created_at | format_date: "%Y" | to_num %} + + {% if article_year == current_year %} + {% assign article_date_format = "long_without_year" %} + {% else %} + {% assign article_date_format = "long" %} + {% endif %} + + + + + {% comment %}Text article header components{% endcomment %} +

    {{ page.title }}

    +
    +
    + {% else %} +
    +
    + {% contentblock name="header" publish_default_content="true" %}

    {{ page.title }}

    {% endcontentblock %} +
    +
    + {% endif %} + +
    +
    +
    +
    diff --git a/components/site-javascripts.tpl b/components/site-javascripts.tpl new file mode 100644 index 0000000..29b5bfc --- /dev/null +++ b/components/site-javascripts.tpl @@ -0,0 +1,21 @@ +{% comment %}SITE WIDE JAVASCRIPTS{% endcomment %} + + + +{% sitejs_include %} + +{% comment %}Site search related javascript components.{% endcomment %} +{% if site.search.enabled %} + + +{% endif %} + +{% if editmode %} + +{% endif %} + +{% comment %}GOOGLE ANALYTICS INITIATION{% endcomment %} +{% unless editmode %}{{ site.analytics }}{% endunless %} diff --git a/components/site-search.tpl b/components/site-search.tpl new file mode 100644 index 0000000..4344b02 --- /dev/null +++ b/components/site-search.tpl @@ -0,0 +1,19 @@ +{% if site.search.enabled %} + +{% endif %} diff --git a/components/site-sidebar.tpl b/components/site-sidebar.tpl new file mode 100644 index 0000000..b5456a9 --- /dev/null +++ b/components/site-sidebar.tpl @@ -0,0 +1,12 @@ + diff --git a/components/site-signout.tpl b/components/site-signout.tpl new file mode 100644 index 0000000..5645c9e --- /dev/null +++ b/components/site-signout.tpl @@ -0,0 +1,11 @@ +{% if editmode != true and previewmode != true and page.private? %} + +{% endif %} diff --git a/components/template-cs-button.tpl b/components/template-cs-button.tpl new file mode 100644 index 0000000..48a7a1d --- /dev/null +++ b/components/template-cs-button.tpl @@ -0,0 +1,76 @@ +:root { + /* VoogStyle + "pathI18n": ["button"], + "titleI18n": "padding", + "editor": "rangePicker", + "min": 0, + "max": 200, + "step": 1, + "unit": "px", + "scope": "global" + */ + --button-padding: 30px; + /* VoogStyle + "pathI18n": ["button"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "featured": true, + "scope": "global" + */ + --button-font-size: 16px; + /* VoogStyle + "pathI18n": ["button"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "600", + "off": "400" + }, + "icon": "bold", + "scope": "global" + */ + --button-font-weight: 400; + /* VoogStyle + "pathI18n": ["button"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + --button-font-style: normal; + /* VoogStyle + "pathI18n": ["button"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + --button-text-decoration: none; + /* VoogStyle + "pathI18n": ["button"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + --button-text-transform: uppercase; +} diff --git a/components/template-cs-content.tpl b/components/template-cs-content.tpl new file mode 100644 index 0000000..0b95ebf --- /dev/null +++ b/components/template-cs-content.tpl @@ -0,0 +1,148 @@ +:root { + /* VoogStyle + "pathI18n": ["content", "text"], + "titleI18n": "alignment", + "editor": "listPicker", + "list": {{ base_alignment_set }}, + "scope": "global" + */ + --content-body-alignment: left; + /* VoogStyle + "pathI18n": ["content", "text"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "featured": true, + "scope": "global" + */ + --content-body-font-size: 18px; + /* VoogStyle + "pathI18n": ["content", "text"], + "titleI18n": "line_height", + "editor": "rangePicker", + "min": 1, + "max": 5, + "step": 0.1, + "unit": "", + "scope": "global" + */ + --content-body-line-height: 1.7; + /* VoogStyle + "pathI18n": ["content", "link", "normal"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "600", + "off": "400" + }, + "icon": "bold", + "scope": "global", + "boundVariables": [ + "--content-link-hover-font-weight" + ] + */ + --content-link-font-weight: 400; + /* VoogStyle + "pathI18n": ["content", "link", "hover"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "600", + "off": "400" + }, + "icon": "bold", + "scope": "global" + */ + --content-link-hover-font-weight: 400; + /* VoogStyle + "pathI18n": ["content", "link", "normal"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global", + "boundVariables": [ + "--content-link-hover-font-style" + ] + */ + --content-link-font-style: normal; + /* VoogStyle + "pathI18n": ["content", "link", "hover"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + --content-link-hover-font-style: normal; + /* VoogStyle + "pathI18n": ["content", "link", "normal"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global", + "boundVariables": [ + "--content-link-hover-text-decoration" + ] + */ + --content-link-text-decoration: none; + /* VoogStyle + "pathI18n": ["content", "link", "hover"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + --content-link-hover-text-decoration: underline; + /* VoogStyle + "pathI18n": ["content", "link", "normal"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global", + "boundVariables": [ + "--content-link-hover-text-transform" + ] + */ + --content-link-text-transform: none; + /* VoogStyle + "pathI18n": ["content", "link", "hover"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + --content-link-hover-text-transform: none; +} diff --git a/components/template-cs-footer.tpl b/components/template-cs-footer.tpl new file mode 100644 index 0000000..147b064 --- /dev/null +++ b/components/template-cs-footer.tpl @@ -0,0 +1,65 @@ +:root { + /* VoogStyle + "pathI18n": ["footer"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "featured": true, + "scope": "global" + */ + --footer-body-font-size: 14px; + /* VoogStyle + "pathI18n": ["footer"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "600", + "off": "400" + }, + "icon": "bold", + "scope": "global" + */ + --footer-body-font-weight: 400; + /* VoogStyle + "pathI18n": ["footer"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + --footer-body-font-style: normal; + /* VoogStyle + "pathI18n": ["footer"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + --footer-body-text-decoration: none; + /* VoogStyle + "pathI18n": ["footer"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + --footer-body-text-transform: none; +} diff --git a/components/template-cs-form.tpl b/components/template-cs-form.tpl new file mode 100644 index 0000000..271b28f --- /dev/null +++ b/components/template-cs-form.tpl @@ -0,0 +1,76 @@ +:root { + /* VoogStyle + "pathI18n": ["form"], + "titleI18n": "label_size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "scope": "global", + "featured": true + */ + --form-label-font-size: 14px; + /* VoogStyle + "pathI18n": ["form"], + "titleI18n": "field_size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "scope": "global", + "featured": true + */ + --form-field-font-size: 16px; + /* VoogStyle + "pathI18n": ["form"], + "titleI18n": "font_weight", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + --form-field-font-weight: 300; + /* VoogStyle + "pathI18n": ["form"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + --form-field-font-style: normal; + /* VoogStyle + "pathI18n": ["form"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + --form-field-text-decoration: none; + /* VoogStyle + "pathI18n": ["form"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + --form-field-text-transform: none; +} diff --git a/components/template-cs-header-front.tpl b/components/template-cs-header-front.tpl new file mode 100644 index 0000000..862123d --- /dev/null +++ b/components/template-cs-header-front.tpl @@ -0,0 +1,256 @@ +:root { + /* VoogStyle + "pathI18n": ["header"], + "titleI18n": "background_color", + "editor": "colorPicker", + "scope": "global" + */ + --header-background-color: transparent; + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "featured": true, + "scope": "global" + */ + --header-body-font-size: 22px; + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + --header-body-font-weight: 300; + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + --header-body-font-style: normal; + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + --header-body-text-decoration: none; + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + --header-body-text-transform: none; + /* VoogStyle + "pathI18n": ["header", "main_menu", "normal"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global", + "boundVariables": [ + "--menu-main-hover-font-weight", + "--menu-main-active-font-weight" + ] + */ + --menu-main-font-weight: 300; + /* VoogStyle + "pathI18n": ["header", "main_menu", "hover"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global", + "boundVariables": [ + "--menu-main-active-font-weight" + ] + */ + --menu-main-hover-font-weight: 300; + /* VoogStyle + "pathI18n": ["header", "main_menu", "active"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + --menu-main-active-font-weight: 500; + /* VoogStyle + "pathI18n": ["header", "main_menu", "normal"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global", + "boundVariables": [ + "--menu-main-hover-font-style", + "--menu-main-active-font-style" + ] + */ + --menu-main-font-style: normal; + /* VoogStyle + "pathI18n": ["header", "main_menu", "hover"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global", + "boundVariables": [ + "--menu-main-active-font-style" + ] + */ + --menu-main-hover-font-style: normal; + /* VoogStyle + "pathI18n": ["header", "main_menu", "active"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + --menu-main-active-font-style: normal; + /* VoogStyle + "pathI18n": ["header", "main_menu", "normal"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global", + "boundVariables": [ + "--menu-main-hover-text-decoration", + "--menu-main-active-text-decoration" + ] + */ + --menu-main-text-decoration: none; + /* VoogStyle + "pathI18n": ["header", "main_menu", "hover"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global", + "boundVariables": [ + "--menu-main-active-text-decoration" + ] + */ + --menu-main-hover-text-decoration: none; + /* VoogStyle + "pathI18n": ["header", "main_menu", "active"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + --menu-main-active-text-decoration: none; + /* VoogStyle + "pathI18n": ["header", "main_menu", "normal"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global", + "boundVariables": [ + "--menu-main-hover-text-transform", + "--menu-main-active-text-transform" + ] + */ + --menu-main-text-transform: uppercase; + /* VoogStyle + "pathI18n": ["header", "main_menu", "hover"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global", + "boundVariables": [ + "--menu-main-active-text-transform" + ] + */ + --menu-main-hover-text-transform: uppercase; + /* VoogStyle + "pathI18n": ["header", "main_menu", "active"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + --menu-main-active-text-transform: uppercase; +} diff --git a/components/template-cs-header.tpl b/components/template-cs-header.tpl new file mode 100644 index 0000000..862123d --- /dev/null +++ b/components/template-cs-header.tpl @@ -0,0 +1,256 @@ +:root { + /* VoogStyle + "pathI18n": ["header"], + "titleI18n": "background_color", + "editor": "colorPicker", + "scope": "global" + */ + --header-background-color: transparent; + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "featured": true, + "scope": "global" + */ + --header-body-font-size: 22px; + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + --header-body-font-weight: 300; + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + --header-body-font-style: normal; + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + --header-body-text-decoration: none; + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + --header-body-text-transform: none; + /* VoogStyle + "pathI18n": ["header", "main_menu", "normal"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global", + "boundVariables": [ + "--menu-main-hover-font-weight", + "--menu-main-active-font-weight" + ] + */ + --menu-main-font-weight: 300; + /* VoogStyle + "pathI18n": ["header", "main_menu", "hover"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global", + "boundVariables": [ + "--menu-main-active-font-weight" + ] + */ + --menu-main-hover-font-weight: 300; + /* VoogStyle + "pathI18n": ["header", "main_menu", "active"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + --menu-main-active-font-weight: 500; + /* VoogStyle + "pathI18n": ["header", "main_menu", "normal"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global", + "boundVariables": [ + "--menu-main-hover-font-style", + "--menu-main-active-font-style" + ] + */ + --menu-main-font-style: normal; + /* VoogStyle + "pathI18n": ["header", "main_menu", "hover"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global", + "boundVariables": [ + "--menu-main-active-font-style" + ] + */ + --menu-main-hover-font-style: normal; + /* VoogStyle + "pathI18n": ["header", "main_menu", "active"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + --menu-main-active-font-style: normal; + /* VoogStyle + "pathI18n": ["header", "main_menu", "normal"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global", + "boundVariables": [ + "--menu-main-hover-text-decoration", + "--menu-main-active-text-decoration" + ] + */ + --menu-main-text-decoration: none; + /* VoogStyle + "pathI18n": ["header", "main_menu", "hover"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global", + "boundVariables": [ + "--menu-main-active-text-decoration" + ] + */ + --menu-main-hover-text-decoration: none; + /* VoogStyle + "pathI18n": ["header", "main_menu", "active"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + --menu-main-active-text-decoration: none; + /* VoogStyle + "pathI18n": ["header", "main_menu", "normal"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global", + "boundVariables": [ + "--menu-main-hover-text-transform", + "--menu-main-active-text-transform" + ] + */ + --menu-main-text-transform: uppercase; + /* VoogStyle + "pathI18n": ["header", "main_menu", "hover"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global", + "boundVariables": [ + "--menu-main-active-text-transform" + ] + */ + --menu-main-hover-text-transform: uppercase; + /* VoogStyle + "pathI18n": ["header", "main_menu", "active"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + --menu-main-active-text-transform: uppercase; +} diff --git a/components/template-cs-headings.tpl b/components/template-cs-headings.tpl new file mode 100644 index 0000000..2682256 --- /dev/null +++ b/components/template-cs-headings.tpl @@ -0,0 +1,248 @@ +:root { + /* VoogStyle + "pathI18n": ["headings", "title"], + "titleI18n": "alignment", + "editor": "listPicker", + "list": {{ base_alignment_set }}, + "scope": "global" + */ + --headings-title-text-alignment: left; + /* VoogStyle + "pathI18n": ["headings", "title"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "featured": true, + "scope": "global" + */ + --headings-title-font-size: 32px; + /* VoogStyle + "pathI18n": ["headings", "title"], + "titleI18n": "line_height", + "editor": "rangePicker", + "min": 1, + "max": 5, + "step": 0.1, + "unit": "", + "scope": "global" + */ + --headings-title-line-height: 1.4; + /* VoogStyle + "pathI18n": ["headings", "title"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + --headings-title-font-weight: 300; + /* VoogStyle + "pathI18n": ["headings", "title"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + --headings-title-font-style: normal; + /* VoogStyle + "pathI18n": ["headings", "title"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + --headings-title-text-decoration: none; + /* VoogStyle + "pathI18n": ["headings", "title"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + --headings-title-text-transform: none; + /* VoogStyle + "pathI18n": ["headings", "heading"], + "titleI18n": "alignment", + "editor": "listPicker", + "list": {{ base_alignment_set }}, + "scope": "global" + */ + --headings-heading-text-alignment: left; + /* VoogStyle + "pathI18n": ["headings", "heading"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "featured": true, + "scope": "global" + */ + --headings-heading-font-size: 26px; + /* VoogStyle + "pathI18n": ["headings", "heading"], + "titleI18n": "line_height", + "editor": "rangePicker", + "min": 1, + "max": 5, + "step": 0.1, + "unit": "", + "scope": "global" + */ + --headings-heading-line-height: 1.4; + /* VoogStyle + "pathI18n": ["headings", "heading"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + --headings-heading-font-weight: 300; + /* VoogStyle + "pathI18n": ["headings", "heading"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + --headings-heading-font-style: normal; + /* VoogStyle + "pathI18n": ["headings", "heading"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + --headings-heading-text-decoration: none; + /* VoogStyle + "pathI18n": ["headings", "heading"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + --headings-heading-text-transform: none; + /* VoogStyle + "pathI18n": ["headings", "subheading"], + "titleI18n": "alignment", + "editor": "listPicker", + "list": {{ base_alignment_set }}, + "scope": "global" + */ + --headings-subheading-text-alignment: left; + /* VoogStyle + "pathI18n": ["headings", "subheading"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "featured": true, + "scope": "global" + */ + --headings-subheading-font-size: 24px; + /* VoogStyle + "pathI18n": ["headings", "subheading"], + "titleI18n": "line_height", + "editor": "rangePicker", + "min": 1, + "max": 5, + "step": 0.1, + "unit": "", + "scope": "global" + */ + --headings-subheading-line-height: 1.4; + /* VoogStyle + "pathI18n": ["headings", "subheading"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + --headings-subheading-font-weight: 300; + /* VoogStyle + "pathI18n": ["headings", "subheading"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + --headings-subheading-font-style: normal; + /* VoogStyle + "pathI18n": ["headings", "subheading"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + --headings-subheading-text-decoration: none; + /* VoogStyle + "pathI18n": ["headings", "subheading"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + --headings-subheading-text-transform: none; +} diff --git a/components/template-cs-main-styles.tpl b/components/template-cs-main-styles.tpl new file mode 100644 index 0000000..19d2aad --- /dev/null +++ b/components/template-cs-main-styles.tpl @@ -0,0 +1,43 @@ +:root { + /* VoogStyle + "pathI18n": ["main_styles"], + "titleI18n": "font", + "editor": "listPicker", + "list": {{ base_font_set }}, + "featured": true, + "scope": "global", + "boundVariables": [ + ] + */ + --main-font-family: "Roboto", sans-serif; + /* VoogStyle + "pathI18n": ["main_styles", "colors"], + "titleI18n": "primary_color", + "editor": "colorPicker", + "featured": true, + "scope": "global", + "boundVariables": [ + ] + */ + --primary-color: rgba(0, 0, 0, 0.7); + /* VoogStyle + "pathI18n": ["main_styles", "colors"], + "titleI18n": "secondary_color", + "editor": "colorPicker", + "featured": true, + "scope": "global", + "boundVariables": [ + ] + */ + --secondary-color: black; + /* VoogStyle + "pathI18n": ["main_styles", "colors"], + "titleI18n": "third_color", + "editor": "colorPicker", + "featured": true, + "scope": "global", + "boundVariables": [ + ] + */ + --third-color: white; +} diff --git a/components/template-cs-sidebar.tpl b/components/template-cs-sidebar.tpl new file mode 100644 index 0000000..ea443ed --- /dev/null +++ b/components/template-cs-sidebar.tpl @@ -0,0 +1,186 @@ +:root { + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "normal"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global", + "boundVariables": [ + "--menu-sub-hover-font-weight", + "--menu-sub-active-font-weight" + ] + */ + --menu-sub-font-weight: 300; + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "hover"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global", + "boundVariables": [ + "--menu-sub-active-font-weight" + ] + */ + --menu-sub-hover-font-weight: 300; + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "active"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + --menu-sub-active-font-weight: 500; + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "normal"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global", + "boundVariables": [ + "--menu-sub-hover-font-style", + "--menu-sub-active-font-style" + ] + */ + --menu-sub-font-style: normal; + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "hover"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global", + "boundVariables": [ + "--menu-sub-active-font-style" + ] + */ + --menu-sub-hover-font-style: normal; + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "active"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + --menu-sub-active-font-style: normal; + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "normal"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global", + "boundVariables": [ + "--menu-sub-hover-text-decoration", + "--menu-sub-active-text-decoration" + ] + */ + --menu-sub-text-decoration: none; + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "hover"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global", + "boundVariables": [ + "--menu-sub-active-text-decoration" + ] + */ + --menu-sub-hover-text-decoration: none; + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "active"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + --menu-sub-active-text-decoration: none; + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "normal"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global", + "boundVariables": [ + "--menu-sub-hover-text-transform", + "--menu-sub-active-text-transform" + ] + */ + --menu-sub-text-transform: none; + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "hover"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global", + "boundVariables": [ + "--menu-sub-active-text-transform" + ] + */ + --menu-sub-hover-text-transform: none; + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "active"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + --menu-sub-active-text-transform: none; +} diff --git a/components/template-cs-style-rules.tpl b/components/template-cs-style-rules.tpl new file mode 100644 index 0000000..1c8fa65 --- /dev/null +++ b/components/template-cs-style-rules.tpl @@ -0,0 +1,635 @@ +body { + font-family: var(--main-font-family); +} + +.dark-background { + color: var(--third-color); +} +.dark-background .content-area h1, +.dark-background .content-area h2, +.dark-background .content-area h3, +.dark-background .content-area h4, +.dark-background .content-area h5, +.dark-background .content-area h6, +.dark-background .content-area p, +.dark-background .content-area ul, +.dark-background .content-area ol, +.dark-background .content-area dl, +.dark-background .content-area pre, +.dark-background .content-area table { + color: var(--third-color); +} +.site-footer .dark-background a, +.site-footer .dark-background b { + color: var(--third-color); +} +.dark-background .header-title a, +.dark-background .header-title a:hover { + color: var(--third-color); +} +.dark-background .menu li a:not(.untranslated) { + color: var(--third-color); +} +.dark-background .menu li.selected a { + color: var(--third-color); +} +.dark-background .lang-title { + color: var(--third-color); +} +.dark-background .lang-menu.menu-language-list .lang-title a { + color: var(--third-color); +} +.dark-background .lang-menu.menu-language-list .lang-title a.is-active, .dark-background .lang-menu.menu-language-list .lang-title a:hover { + color: var(--third-color); +} +.dark-background .lang-menu.menu-language-list .lang-title a.selected { + color: var(--third-color); +} +.dark-background .voog-reference svg path { + fill: var(--third-color); +} +.dark-background .site-options .search-btn svg path { + fill: var(--third-color); +} +@media screen and (max-width: 640px) { + .search-open .dark-background .site-options .search-btn svg path { + fill: var(--primary-color); + } +} + +.light-background { + color: var(--secondary-color); +} +.light-background h1, .light-background h2, .light-background h3, .light-background h4 { + color: var(--secondary-color); +} +.site-header .light-background a { + color: var(--secondary-color); +} +.site-header .light-background .header-title a, +.site-header .light-background .header-title a:hover { + color: var(--secondary-color); +} +.site-header .light-background .menu li a { + color: var(--secondary-color); +} +.site-header .light-background .menu li a:hover { + color: var(--secondary-color); +} +.site-header .light-background .menu li.selected a { + color: var(--secondary-color); +} +.site-footer .light-background { + color: var(--primary-color); +} +.light-background .lang-title { + color: var(--secondary-color); +} +.light-background .menu-language-list .lang-title a:hover { + color: var(--secondary-color); +} +.light-background .menu-language-list .lang-title a.selected { + color: var(--secondary-color); +} +.light-background .site-options .search-btn svg path { + fill: var(--secondary-color); +} + +.blog-news-page .article-title a { + color: var(--secondary-color); +} +.blog-news-page .article-author, .blog-news-page .article-date { + color: var(--secondary-color); +} +.dark-background .blog-news-page .article-author, +.dark-background .blog-news-page .article-date { + color: rgba(255, 255, 255, 0.35); +} +.blog-news-page .article-excerpt { + color: var(--primary-color); +} +@media screen and (max-width: 640px) { + .blog-news-page .article-header { + margin: 0; + } +} +.blog-news-page .articles-listing .blog-article .article-date { + color: var(--secondary-color); +} +.blog-news-page .dark-background .article-author, +.blog-news-page .dark-background .article-date, +.blog-news-page .dark-background .articles-listing .article-date { + color: rgba(255, 255, 255, 0.35); +} + +.blog-article-page .article-excerpt, +.blog-article-page .article-body { + color: var(--primary-color); +} +.blog-article-page .comments-title { + color: var(--secondary-color); +} +.blog-article-page .dark-background .comments-title { + color: var(--third-color); +} +.blog-article-page .main-content .article-author, +.blog-article-page .main-content .article-date { + color: var(--secondary-color); +} +.blog-article-page .dark-background .article-author, +.blog-article-page .dark-background .article-date { + color: var(--third-color); +} +.blog-article-page .light-background .article-author, +.blog-article-page .light-background .article-date { + color: var(--secondary-color); +} + +@media screen and (max-width: 640px) { + .comments-open .article-comments .comments-body { + background-color: var(--third-color); + } +} +.article-comments .comments-body .comments-title { + color: var(--secondary-color); +} +.article-comments .comments-body .comments-title .comments-count { + color: var(--secondary-color); +} +.article-comments .comment { + color: var(--primary-color); +} +.article-comments .comment .comment-author, +.article-comments .comment .comment-date { + color: var(--secondary-color); +} +.article-comments .comments-close.dark-background .btn-close { + background-color: var(--third-color); +} +.article-comments .comments-close.dark-background .btn-close .ico-close { + fill: var(--secondary-color); +} +.article-comments .comments-close .btn-close { + background-color: var(--secondary-color); +} +@media screen and (max-width: 850px) { + .article-comments .comments-close .btn-close { + background-color: var(--third-color); + } +} +.article-comments .comments-close .btn-close .ico-close { + fill: var(--third-color); +} +@media screen and (max-width: 850px) { + .article-comments .comments-close .btn-close .ico-close { + fill: var(--primary-color); + } + .article-comments .comments-close .btn-close .ico-close:hover { + fill: var(--primary-color); + } +} + +.menu-main a { + font-style: var(--menu-main-font-style); + font-weight: var(--menu-main-font-weight); + -webkit-text-decoration: var(--menu-main-text-decoration); + text-decoration: var(--menu-main-text-decoration); + text-transform: var(--menu-main-text-transform); +} +.menu-main a:hover { + font-style: var(--menu-main-hover-font-style); + font-weight: var(--menu-main-hover-font-weight); + -webkit-text-decoration: var(--menu-main-hover-text-decoration); + text-decoration: var(--menu-main-hover-text-decoration); + text-transform: var(--menu-main-hover-text-transform); +} +.menu-main .selected a, +.menu-main .current a { + font-style: var(--menu-main-active-font-style); + font-weight: var(--menu-main-active-font-weight); + -webkit-text-decoration: var(--menu-main-active-text-decoration); + text-decoration: var(--menu-main-active-text-decoration); + text-transform: var(--menu-main-active-text-transform); +} + +@media screen and (max-width: 1024px) { + .mobile-menu-toggler span, .mobile-menu-toggler span:before, .mobile-menu-toggler span:after { + background-color: var(--secondary-color); + } + .dark-background .mobile-menu-toggler span, .dark-background .mobile-menu-toggler span:before, .dark-background .mobile-menu-toggler span:after { + background-color: var(--third-color); + } + .language-flags-disabled .mobile-menu-toggler span .lang-menu-btn .lang-title, .language-flags-disabled .mobile-menu-toggler span:before .lang-menu-btn .lang-title, .language-flags-disabled .mobile-menu-toggler span:after .lang-menu-btn .lang-title { + color: var(--third-color); + } + + #mobile-menu .search-open-btn svg { + fill: var(--secondary-color); + } + #mobile-menu .navigation-menu > ul > li > a { + font-style: var(--menu-main-font-style); + font-weight: var(--menu-main-font-weight); + -webkit-text-decoration: var(--menu-main-text-decoration); + text-decoration: var(--menu-main-text-decoration); + text-transform: var(--menu-main-text-transform); + } + #mobile-menu .navigation-menu > ul > li > a:hover { + font-style: var(--menu-main-hover-font-style); + font-weight: var(--menu-main-hover-font-weight); + -webkit-text-decoration: var(--menu-main-hover-text-decoration); + text-decoration: var(--menu-main-hover-text-decoration); + text-transform: var(--menu-main-hover-text-transform); + } + #mobile-menu .navigation-menu > ul > li > a.selected, #mobile-menu .navigation-menu > ul > li > a.current { + font-style: var(--menu-main-active-font-style); + font-weight: var(--menu-main-active-font-weight); + -webkit-text-decoration: var(--menu-main-active-text-decoration); + text-decoration: var(--menu-main-active-text-decoration); + text-transform: var(--menu-main-active-text-transform); + } + #mobile-menu .navigation-menu .sub-menu a { + font-style: var(--menu-sub-font-style); + font-weight: var(--menu-sub-font-weight); + -webkit-text-decoration: var(--menu-sub-text-decoration); + text-decoration: var(--menu-sub-text-decoration); + text-transform: var(--menu-sub-text-transform); + } + #mobile-menu .navigation-menu .sub-menu a:hover { + font-style: var(--menu-sub-hover-font-style); + font-weight: var(--menu-sub-hover-font-weight); + -webkit-text-decoration: var(--menu-sub-hover-text-decoration); + text-decoration: var(--menu-sub-hover-text-decoration); + text-transform: var(--menu-sub-hover-text-transform); + } + #mobile-menu .navigation-menu .sub-menu a.selected, #mobile-menu .navigation-menu .sub-menu a.current { + font-style: var(--menu-sub-active-font-style); + font-weight: var(--menu-sub-active-font-weight); + -webkit-text-decoration: var(--menu-sub-active-text-decoration); + text-decoration: var(--menu-sub-active-text-decoration); + text-transform: var(--menu-sub-active-text-transform); + } +} +.lang-flag:before { + background-color: var(--secondary-color); +} + +/* langmenu */ +.lang-menu.menu-language-list .lang-title a.is-active { + color: var(--secondary-color); +} +.lang-menu li a { + color: var(--primary-color); +} +.dark-background .lang-menu a.lang-flag, .light-background .lang-menu a.lang-flag { + color: var(--secondary-color); +} +.dark-background .lang-menu a.lang-flag:hover, .light-background .lang-menu a.lang-flag:hover { + color: var(--secondary-color); +} + +.lang-menu-btn .lang-title-inner:after { + border-color: var(--secondary-color) transparent transparent transparent; +} +.dark-background .lang-menu-btn .lang-title-inner:after { + border-color: var(--third-color) transparent transparent transparent; +} + +.site-sidebar .sidebar-title a { + color: var(--secondary-color); +} +.dark-background .site-sidebar .sidebar-title a { + color: var(--third-color); +} +.site-sidebar .submenu a { + font-weight: var(--menu-sub-font-weight); + font-style: var(--menu-sub-font-style); + -webkit-text-decoration: var(--menu-sub-text-decoration); + text-decoration: var(--menu-sub-text-decoration); + text-transform: var(--menu-sub-text-transform); + color: var(--secondary-color); +} +.site-sidebar .submenu a:hover { + font-weight: var(--menu-sub-hover-font-weight); + font-style: var(--menu-sub-hover-font-style); + -webkit-text-decoration: var(--menu-sub-hover-text-decoration); + text-decoration: var(--menu-sub-hover-text-decoration); + text-transform: var(--menu-sub-hover-text-transform); +} +.dark-background .site-sidebar .submenu a { + color: var(--third-color); +} +.site-sidebar .submenu .selected, +.site-sidebar .submenu .selected a, +.site-sidebar .submenu .current, +.site-sidebar .submenu .current a { + font-weight: var(--menu-sub-active-font-weight); + font-style: var(--menu-sub-active-font-style); + -webkit-text-decoration: var(--menu-sub-active-text-decoration); + text-decoration: var(--menu-sub-active-text-decoration); + text-transform: var(--menu-sub-active-text-transform); +} +.site-sidebar .submenu .selected { + color: var(--secondary-color); +} +.dark-background .site-sidebar .submenu .selected { + color: var(--third-color); +} +.site-sidebar .submenu .submenu-lvl2 a { + color: var(--secondary-color); +} +.dark-background .site-sidebar .submenu .submenu-lvl2 a { + color: var(--third-color); +} +.dark-background .site-sidebar .submenu .submenu-lvl2 .selected { + color: var(--third-color); +} + +.site-footer .dark-background .content-area a { + color: var(--third-color); +} +.site-footer .voog-reference { + color: var(--secondary-color); +} +.site-footer .blog-article-nav .article-nav-direction { + color: var(--secondary-color); +} +.site-footer .blog-article-nav .article-nav-title { + color: var(--secondary-color); +} +.site-footer .blog-article-nav.dark-background .article-nav-title { + color: var(--third-color); +} +.site-footer .blog-article-nav.dark-background .article-nav-direction { + color: var(--third-color); +} + +.header-top { + background-color: var(--header-background-color); +} + +.content-area { + font-size: var(--content-body-font-size); + line-height: var(--content-body-line-height); + color: var(--primary-color); +} +.dark-background .content-area { + color: var(--third-color); +} +.site-footer .dark-background .content-area { + color: var(--third-color); +} +.site-footer .content-area { + font-size: var(--footer-body-font-size); + font-style: var(--footer-body-font-style); + font-weight: var(--footer-body-font-weight); + color: var(--primary-color); + -webkit-text-decoration: var(--footer-body-text-decoration); + text-decoration: var(--footer-body-text-decoration); + text-transform: var(--footer-body-text-transform); +} +.content-area.header-title, .content-area.header-title a, .content-area.header-title a:hover { + font-size: var(--header-body-font-size); + font-style: var(--header-body-font-style); + font-weight: var(--header-body-font-weight); + -webkit-text-decoration: var(--header-body-text-decoration); + text-decoration: var(--header-body-text-decoration); + text-transform: var(--header-body-text-transform); +} +.header-bottom .content-area, .page-body .content-area { + text-align: var(--content-body-alignment); +} +.dark-background .content-area h1, +.dark-background .content-area h2, +.dark-background .content-area h3, +.dark-background .content-area h4, +.dark-background .content-area h5, +.dark-background .content-area h6, +.dark-background .content-area p, +.dark-background .content-area ul, +.dark-background .content-area ol, +.dark-background .content-area pre, +.dark-background .content-area code, +.dark-background .content-area table { + color: var(--third-color); +} +.content-area h1, +.content-area h2, +.content-area h3, +.content-area h4, +.content-area h5, +.content-area h6 { + color: var(--secondary-color); +} +.content-area h1 a, +.content-area h2 a, +.content-area h3 a, +.content-area h4 a, +.content-area h5 a, +.content-area h6 a { + color: var(--secondary-color); +} +.content-area p, .content-area ul, .content-area ol, .content-area dl { + font-size: var(--content-body-font-size); +} +.site-footer .content-area p, +.site-footer .content-area ul, +.site-footer .content-area ol, +.site-footer .content-area dl { + color: var(--primary-color); +} +.site-footer .dark-background .content-area p, .site-footer .dark-background .content-area ul, .site-footer .dark-background .content-area ol, .site-footer .dark-background .content-area dl { + color: var(--third-color); +} +.content-area h1, +.content-area h1 a, +.content-area h1 a:hover { + text-align: var(--headings-title-text-alignment); + line-height: var(--headings-title-line-height); + font-size: var(--headings-title-font-size); + font-weight: var(--headings-title-font-weight); + font-style: var(--headings-title-font-style); + -webkit-text-decoration: var(--headings-title-text-decoration); + text-decoration: var(--headings-title-text-decoration); + text-transform: var(--headings-title-text-transform); +} +.content-area h2 { + font-size: var(--headings-heading-font-size); + line-height: var(--headings-heading-line-height); + text-transform: var(--headings-heading-text-transform); +} +.content-area h2, +.content-area h2 a, +.content-area h2 a:hover { + text-align: var(--headings-heading-text-alignment); + font-weight: var(--headings-heading-font-weight); + font-style: var(--headings-heading-font-style); + -webkit-text-decoration: var(--headings-heading-text-decoration); + text-decoration: var(--headings-heading-text-decoration); +} +.content-area h3, +.content-area h3 a, +.content-area h3 a:hover, +.content-area h4, +.content-area h4 a, +.content-area h4 a:hover, +.content-area h5, +.content-area h5 a, +.content-area h5 a:hover, +.content-area h6, +.content-area h6 a, +.content-area h6 a:hover { + text-align: var(--headings-subheading-text-alignment); + line-height: var(--headings-subheading-line-height); + font-size: var(--headings-subheading-font-size); + font-weight: var(--headings-subheading-font-weight); + font-style: var(--headings-subheading-font-style); + -webkit-text-decoration: var(--headings-subheading-text-decoration); + text-decoration: var(--headings-subheading-text-decoration); + text-transform: var(--headings-subheading-text-transform); +} +.content-area a { + font-style: var(--content-link-font-style); + font-weight: var(--content-link-font-weight); + color: var(--secondary-color); + -webkit-text-decoration: var(--content-link-text-decoration); + text-decoration: var(--content-link-text-decoration); + text-transform: var(--content-link-text-transform); +} +.content-area a:hover { + font-style: var(--content-link-hover-font-style); + font-weight: var(--content-link-hover-font-weight); + -webkit-text-decoration: var(--content-link-hover-text-decoration); + text-decoration: var(--content-link-hover-text-decoration); + text-transform: var(--content-link-hover-text-transform); +} +.dark-background .content-area a { + color: var(--third-color); +} +.content-area a.custom-btn, .content-area div.custom-btn { + padding: calc(var(--button-padding) - 18px) var(--button-padding) calc(var(--button-padding) - 17px); + font-size: var(--button-font-size); + font-style: var(--button-font-style); + font-weight: var(--button-font-weight); + -webkit-text-decoration: var(--button-text-decoration); + text-decoration: var(--button-text-decoration); + text-transform: var(--button-text-transform); +} +.dark-background .content-area a.custom-btn:hover, .dark-background .content-area div.custom-btn:hover { + border-color: var(--third-color); + background-color: var(--third-color); + color: var(--primary-color); +} +.light-background .content-area a.custom-btn:hover, .light-background .content-area div.custom-btn:hover { + border-color: var(--secondary-color); + background-color: var(--secondary-color); + color: var(--third-color); +} +.dark-background .content-area a.custom-btn, .dark-background .content-area div.custom-btn { + border-color: var(--third-color); + color: var(--third-color); +} +.light-background .content-area a.custom-btn, .light-background .content-area div.custom-btn { + border-color: var(--secondary-color); + color: var(--secondary-color); +} +.content-area table th, .content-area table td { + padding: calc(var(--table-padding) - 4px) var(--table-padding); + font-size: var(--table-font-size); + border-style: var(--table-border-style); +} +.dark-background .content-area table th, .dark-background .content-area table td { + border-style: var(--table-border-style); +} +.light-background .content-area table th, .light-background .content-area table td { + border-style: var(--table-border-style); +} +.content-area table th { + color: var(--third-color); + background-color: var(--secondary-color); +} +.contacts .content-area table tr td { + color: var(--primary-color); +} + +.content-area .form_field .form_field_label, +.content-area .form_field .edy-fe-label { + font-size: var(--form-label-font-size); +} +.content-area .form_field_textfield, +.content-area .form_field_textarea, +.content-area label:not(.form_field_label) { + font-style: var(--form-field-font-style); + font-weight: var(--form-field-font-weight); + font-size: var(--form-field-font-size); + -webkit-text-decoration: var(--form-field-text-decoration); + text-decoration: var(--form-field-text-decoration); + text-transform: var(--form-field-text-transform); +} +.dark-background .content-area .form_field_textfield, +.dark-background .content-area .form_field_textarea, +.dark-background .content-area .form_field_select { + color: var(--third-color); + border-color: var(--third-color); +} +.dark-background .content-area .form_field_textfield::-webkit-input-placeholder, +.dark-background .content-area .form_field_textarea::-webkit-input-placeholder, +.dark-background .content-area .form_field_select::-webkit-input-placeholder { + color: var(--third-color); +} +.dark-background .content-area .form_field_textfield:-ms-input-placeholder, +.dark-background .content-area .form_field_textarea:-ms-input-placeholder, +.dark-background .content-area .form_field_select:-ms-input-placeholder { + color: var(--third-color); +} +.dark-background .content-area .form_field_textfield::-ms-input-placeholder, +.dark-background .content-area .form_field_textarea::-ms-input-placeholder, +.dark-background .content-area .form_field_select::-ms-input-placeholder { + color: var(--third-color); +} +.dark-background .content-area .form_field_textfield::placeholder, +.dark-background .content-area .form_field_textarea::placeholder, +.dark-background .content-area .form_field_select::placeholder { + color: var(--third-color); +} +.light-background .content-area .form_field_textfield, +.light-background .content-area .form_field_textarea, +.light-background .content-area .form_field_select { + color: var(--primary-color); +} +.light-background .content-area .form_field_textfield::-webkit-input-placeholder, +.light-background .content-area .form_field_textarea::-webkit-input-placeholder, +.light-background .content-area .form_field_select::-webkit-input-placeholder { + color: var(--primary-color); +} +.light-background .content-area .form_field_textfield:-ms-input-placeholder, +.light-background .content-area .form_field_textarea:-ms-input-placeholder, +.light-background .content-area .form_field_select:-ms-input-placeholder { + color: var(--primary-color); +} +.light-background .content-area .form_field_textfield::-ms-input-placeholder, +.light-background .content-area .form_field_textarea::-ms-input-placeholder, +.light-background .content-area .form_field_select::-ms-input-placeholder { + color: var(--primary-color); +} +.light-background .content-area .form_field_textfield::placeholder, +.light-background .content-area .form_field_textarea::placeholder, +.light-background .content-area .form_field_select::placeholder { + color: var(--primary-color); +} +.content-area .form_submit input { + padding: calc(var(--button-padding) - 18px) var(--button-padding) calc(var(--button-padding) - 17px); + font-size: var(--button-font-size); + font-style: var(--button-font-style); + font-weight: var(--button-font-weight); + -webkit-text-decoration: var(--button-text-decoration); + text-decoration: var(--button-text-decoration); + text-transform: var(--button-text-transform); +} +.dark-background .content-area .form_submit input { + color: var(--secondary-color); + background-color: var(--third-color); +} +.light-background .content-area .form_submit input { + color: var(--third-color); + background-color: var(--secondary-color); +} diff --git a/components/template-cs-table.tpl b/components/template-cs-table.tpl new file mode 100644 index 0000000..dc58f70 --- /dev/null +++ b/components/template-cs-table.tpl @@ -0,0 +1,32 @@ +:root { + /* VoogStyle + "pathI18n": ["table"], + "titleI18n": "padding", + "editor": "rangePicker", + "min": 0, + "max": 200, + "step": 1, + "unit": "px", + "scope": "global" + */ + --table-padding: 13px; + /* VoogStyle + "pathI18n": ["table"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "scope": "global" + */ + --table-font-size: 16px; + /* VoogStyle + "pathI18n": ["table"], + "titleI18n": "border_style", + "editor": "listPicker", + "list": {{ base_border_style_set }}, + "featured": true, + "scope": "global" + */ + --table-border-style: solid; +} diff --git a/components/template-meta.tpl b/components/template-meta.tpl new file mode 100644 index 0000000..1e29056 --- /dev/null +++ b/components/template-meta.tpl @@ -0,0 +1,59 @@ +{% comment %}TEMPLATE META DATA{% endcomment %} +{% comment %}https://developers.facebook.com/tools/debug - Debug after each modification{% endcomment %} +{% if site.data.fb_admin %}{% endif %} + + + + + +{% comment %}Open Graph image{% endcomment %} +{% if page.image == nil and front_page %} + {% if header_bg_image_sizes != nil and header_bg_image_sizes != "" %} + {% for size in header_bg_image_sizes reversed %} + {% if size.width <= 1280 %} + {% assign og_image = size %} + {% else %} + {% break %} + {% endif %} + {% endfor %} + {% endif %} +{% else %} + {% if article %} + {% if article.image? %} + {% assign og_image = article.image.for-width-1200 %} + {% endif %} + {% elsif page.image? %} + {% assign og_image = page.image.for-width-1200 %} + {% endif %} +{% endif %} + +{% if og_image %} + {% comment %}"http:" and "https:" strings are removed and readded to ensure that older bg-picker images will have protocol.{% endcomment %} + {% if og_image.url %}{% endif %} + {% if og_image.content_type %}{% endif %} + {% if og_image.width %}{% endif %} + {% if og_image.height %}{% endif %} +{% endif %} + +{% comment %}Open Graph description{% endcomment %} +{% if article %} + {% assign description = article.description %} +{% else %} + {% assign description = page.description %} +{% endif %} + +{% if description != nil and description != "" %} + + +{% endif %} + +{% comment %}SEO pagination for blog articles.{% endcomment %} +{% if article %} + {% if article.older %} + + {% endif %} + + {% if article.newer %} + + {% endif %} +{% endif %} diff --git a/components/template-styles.tpl b/components/template-styles.tpl new file mode 100644 index 0000000..afd5b65 --- /dev/null +++ b/components/template-styles.tpl @@ -0,0 +1,171 @@ + diff --git a/components/template-svg-spritesheet.tpl b/components/template-svg-spritesheet.tpl new file mode 100644 index 0000000..cfc2010 --- /dev/null +++ b/components/template-svg-spritesheet.tpl @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/components/template-tools.tpl b/components/template-tools.tpl new file mode 100644 index 0000000..0ca6cae --- /dev/null +++ b/components/template-tools.tpl @@ -0,0 +1,109 @@ +{% editorjsblock %} + + +{% endeditorjsblock %} diff --git a/components/template-variables.tpl b/components/template-variables.tpl new file mode 100644 index 0000000..d9630f3 --- /dev/null +++ b/components/template-variables.tpl @@ -0,0 +1,583 @@ +{% capture dont_render %} + {% comment %}Detects viewing mode.{% endcomment %} + {% if editmode %} + {% assign view_mode = "editmode" %} + {% else %} + {% assign view_mode = "publicmode" %} + {% endif %} + + {% comment %}ASSIGN LANGUAGE MENU FLAGS STATE{% endcomment %} + {% comment %}TODO: Remove when deprecated.{% endcomment %} + {% if site.data.flags_state == nil %} + {% assign flags_state = true %} + {% else %} + {% assign flags_state = site.data.flags_state %} + {% endif %} + + {% comment %}Detects language flags visibility setting.{% endcomment %} + {% if site.data.settings_language_menu.item_state %} + {% if site.data.settings_language_menu.item_state == "names_only" %} + {% assign language_flags_mode = "language-flags-disabled" %} + {% else %} + {% assign language_flags_mode = "language-flags-enabled" %} + {% endif %} + {% else %} + {% comment %}Fallback for older flags toggle button.{% endcomment %} + {% if site.data.language_flags_enabled == true %} + {% assign language_flags_mode = "language-flags-enabled" %} + {% else %} + {% assign language_flags_mode = "language-flags-disabled" %} + {% endif %} + {% endif %} + + {% comment %}Detects language flags visibility setting.{% endcomment %} + {% if site.data.settings_language_menu.item_state == "flags_only" %} + {% assign language_names_mode = "language-names-disabled" %} + {% else %} + {% assign language_names_mode = "language-names-enabled" %} + {% endif %} + + {% comment %}Detects language menu mode setting.{% endcomment %} + {% if site.data.settings_language_menu.type == "list" %} + {% assign language_menu_mode = "language-menu-mode-list" %} + {% else %} + {% assign language_menu_mode = "language-menu-mode-popover" %} + {% endif %} + + {% comment %}Detects if mobile menu should be rendered.{% endcomment %} + {% if editmode %} + {% assign render_menu_main = true %} + {% else %} + {% if site.root_item.hidden? and site.visible_menuitems.size == 0 and site.has_many_languages? == false %} + {% assign render_menu_main = false %} + {% else %} + {% assign render_menu_main = true %} + {% endif %} + {% endif %} + + {% capture header_content_html %}{% unless editmode %}{% editable site.header %}{% endunless %}{% endcapture %} + {% capture header_content_size %}{{ header_content_html | size | minus : 1 }}{% endcapture %} + {% unless header_content_size contains "-" %} + {% assign header_content_has_content = true %} + {% endunless %} + + {% comment %}Detects if header top section should be rendered.{% endcomment %} + {% if render_menu_main %} + {% assign render_header_top = true %} + {% else %} + {% if header_content_has_content %} + {% assign render_header_top = true %} + {% else %} + {% assign render_header_top = false %} + {% endif %} + {% endif %} + + {% comment %}SITE HEADER RELATED VARIABLES.{% endcomment %} + {% comment %}Assign variables based on page type.{% endcomment %} + {% assign header_bg = page.data.header_bg %} + {% assign header_bg_image = header_bg.image %} + {% assign header_bg_image_sizes = header_bg.imageSizes %} + {% assign header_bg_color = header_bg.color %} + {% assign header_bg_color_data = header_bg.colorData %} + {% assign header_bg_combined_lightness = header_bg.combinedLightness %} + + {% comment %}Sets the background type to choose active CMS color scheme.{% endcomment %} + {% if header_bg %} + {% if header_bg_combined_lightness %} + {% if header_bg_combined_lightness > 0.6 %} + {% assign header_bg_type = "light-background" %} + {% else %} + {% assign header_bg_type = "dark-background" %} + {% endif %} + {% else %} + {% if header_bg_color_data.a >= 0.6 %} + {% if header_bg_color_data.lightness >= 0.6 %} + {% assign header_bg_type = "light-background" %} + {% else %} + {% assign header_bg_type = "dark-background" %} + {% endif %} + {% else %} + {% assign header_bg_type = "light-background" %} + {% endif %} + {% endif %} + {% else %} + {% assign header_bg_type = "dark-background" %} + {% endif %} + + {% if header_bg_image == nil %} + {% if front_page %} + {% assign header_bg_image = images_path | append: "/front-header-bg_block.jpg" %} + {% else %} + {% assign header_bg_image = images_path | append: "/page-header-bg_block.jpg" %} + {% endif %} + {% endif %} + + {% if header_bg_image_sizes == nil %} + {% if front_page %} + {% assign header_bg_image_sizes_str = '[{"url":"' | append: images_path | append: '/front-header-bg.jpg", "width":2560, "height":1702}, {"url":"' | append: images_path | append: '/front-header-bg_huge.jpg", "width":2048, "height":1362}, {"url":"' | append: images_path | append: '/front-header-bg_large.jpg", "width":1280, "height":851}]' %} + {% else %} + {% assign header_bg_image_sizes_str = '[{"url":"' | append: images_path | append: '/page-header-bg.jpg", "width":2560, "height":1707}, {"url":"' | append: images_path | append: '/page-header-bg_huge.jpg", "width":2048, "height":1366}, {"url":"' | append: images_path | append: '/page-header-bg_large.jpg", "width":1280, "height":853}]' %} + {% endif %} + {% else %} + {% assign header_bg_image_sizes_str = header_bg_image_sizes | json %} + {% endif %} + + {% if header_bg_color == nil %} + {% assign header_bg_color = "rgba(0, 0, 0, 0.1)" %} + {% endif %} + + {% if header_bg_color_data == nil %} + {% assign header_bg_color_data_str = '{"r": 0, "g": 0, "b": 0, "a": 0.1, "lightness": 0}' %} + {% else %} + {% assign header_bg_color_data_str = header_bg_color_data | json %} + {% endif %} + + + {% comment %}Boolean for article type.{% endcomment %} + {% if blog_article_page and article.data.photo_article_state %} + {% assign photo_article = true %} + {% endif %} + + {% comment %}Assign variables for blog article.{% endcomment %} + {% assign article_header_bg = article.data.header_bg %} + {% assign article_header_bg_image = article_header_bg.image %} + {% assign article_header_bg_image_sizes = article_header_bg.imageSizes %} + {% assign article_header_bg_color = article_header_bg.color %} + {% assign article_header_bg_color_data = article_header_bg.colorData %} + {% assign article_header_bg_combined_lightness = article_header_bg.combinedLightness %} + + {% if blog_article_page %} + {% comment %}Sets the background type to choose active CMS color scheme.{% endcomment %} + {% if article_header_bg %} + {% if article_header_bg_combined_lightness %} + {% if article_header_bg_combined_lightness > 0.6 %} + {% assign article_header_bg_type = "light-background" %} + {% else %} + {% assign article_header_bg_type = "dark-background" %} + {% endif %} + {% else %} + {% if article_header_bg_color_data.a >= 0.6 %} + {% if article_header_bg_color_data.lightness >= 0.6 %} + {% assign article_header_bg_type = "light-background" %} + {% else %} + {% assign article_header_bg_type = "dark-background" %} + {% endif %} + {% else %} + {% assign article_header_bg_type = "light-background" %} + {% endif %} + {% endif %} + {% else %} + {% assign article_header_bg_type = "dark-background" %} + {% endif %} + + {% if article_header_bg_image == nil %} + {% assign article_header_bg_image = "" %} + {% endif %} + + {% if article_header_bg_image_sizes == nil %} + {% assign article_header_bg_image_sizes_str = "" %} + {% else %} + {% assign article_header_bg_image_sizes_str = article_header_bg_image_sizes | json %} + {% endif %} + + + + + {% if article_header_bg_color == nil %} + {% assign article_header_bg_color = "rgba(0, 0, 0, 0.4)" %} + {% endif %} + + {% if article_header_bg_color_data == nil %} + {% assign article_header_bg_color_data_str = '{"r": 0, "g": 0, "b": 0, "a": 0.4, "lightness": 0}' %} + {% else %} + {% assign article_header_bg_color_data_str = article_header_bg_color_data | json %} + {% endif %} + {% endif %} + + + {% comment %}FRONT PAGE CONTENT AREA 1 RELATED VARIABLES.{% endcomment %} + {% comment %}Assign variables based on page type.{% endcomment %} + {% assign content_bg_1 = page.data.content_bg_1 %} + + {% assign content_bg_1_color = content_bg_1.color %} + {% assign content_bg_1_color_data = content_bg_1.colorData %} + {% assign content_bg_1_combined_lightness = content_bg_1.combinedLightness %} + + {% comment %}Sets the background type to choose active CMS color scheme.{% endcomment %} + {% if content_bg_1 %} + {% if content_bg_1_combined_lightness %} + {% if content_bg_1_combined_lightness > 0.6 %} + {% assign content_bg_1_type = "light-background" %} + {% else %} + {% assign content_bg_1_type = "dark-background" %} + {% endif %} + {% else %} + {% if content_bg_1_color_data.a >= 0.6 %} + {% if content_bg_1_color_data.lightness >= 0.6 %} + {% assign content_bg_1_type = "light-background" %} + {% else %} + {% assign content_bg_1_type = "dark-background" %} + {% endif %} + {% else %} + {% assign content_bg_1_type = "light-background" %} + {% endif %} + {% endif %} + {% else %} + {% assign content_bg_1_type = "light-background" %} + {% endif %} + + {% if content_bg_1_color == nil %} + {% assign content_bg_1_color = "" %} + {% endif %} + + {% if content_bg_1_color_data == nil %} + {% assign content_bg_1_color_data_str = "" %} + {% else %} + {% assign content_bg_1_color_data_str = content_bg_1_color_data | json %} + {% endif %} + + + {% comment %}FRONT PAGE CONTENT AREA 2 RELATED VARIABLES.{% endcomment %} + {% comment %}Assign variables based on page type.{% endcomment %} + {% assign content_bg_2 = page.data.content_bg_2 %} + + {% assign content_bg_2_image = content_bg_2.image %} + {% assign content_bg_2_color = content_bg_2.color %} + {% assign content_bg_2_color_data = content_bg_2.colorData %} + {% assign content_bg_2_combined_lightness = content_bg_2.combinedLightness %} + + {% comment %}Sets the background type to choose active CMS color scheme.{% endcomment %} + {% if content_bg_2 %} + {% if content_bg_2_combined_lightness %} + {% if content_bg_2_combined_lightness > 0.6 %} + {% assign content_bg_2_type = "light-background" %} + {% else %} + {% assign content_bg_2_type = "dark-background" %} + {% endif %} + {% else %} + {% if content_bg_2_color_data.a >= 0.6 %} + {% if content_bg_2_color_data.lightness >= 0.6 %} + {% assign content_bg_2_type = "light-background" %} + {% else %} + {% assign content_bg_2_type = "dark-background" %} + {% endif %} + {% else %} + {% assign content_bg_2_type = "light-background" %} + {% endif %} + {% endif %} + {% else %} + {% assign content_bg_2_type = "dark-background" %} + {% endif %} + + {% if content_bg_2_image == nil %} + {% assign content_bg_2_image = images_path | append: "/front-header-bg_block.jpg" %} + {% endif %} + + {% if content_bg_2.imageSizes == nil %} + {% assign content_bg_2_image_sizes_str = '[{"url":"' | append: images_path | append: '/front-header-bg.jpg", "width":2560, "height":1702}, {"url":"' | append: images_path | append: '/front-header-bg_huge.jpg", "width":2048, "height":1362}, {"url":"' | append: images_path | append: '/front-header-bg_large.jpg", "width":1280, "height":851}]' %} + {% else %} + {% assign content_bg_2_image_sizes_str = content_bg_2.imageSizes | json %} + {% endif %} + + {% if content_bg_2_color == nil %} + {% assign content_bg_2_color = "rgba(0, 0, 0, 0.1)" %} + {% endif %} + + {% if content_bg_2_color_data == nil %} + {% assign content_bg_2_color_data_str = "" %} + {% else %} + {% assign content_bg_2_color_data_str = content_bg_2_color_data | json %} + {% endif %} + + + {% comment %}SITE MAIN CONTENT AREA RELATED VARIABLES.{% endcomment %} + {% comment %}Assign variables based on page type.{% endcomment %} + {% assign body_bg = site.data.body_bg %} + + {% assign body_bg_color = body_bg.color %} + {% assign body_bg_color_data = body_bg.colorData %} + {% assign body_bg_combined_lightness = body_bg.combinedLightness %} + + {% comment %}Sets the background type to choose active CMS color scheme.{% endcomment %} + {% if body_bg %} + {% if body_bg_combined_lightness %} + {% if body_bg_combined_lightness > 0.6 %} + {% assign body_bg_type = "light-background" %} + {% else %} + {% assign body_bg_type = "dark-background" %} + {% endif %} + {% else %} + {% if body_bg_color_data.a >= 0.6 %} + {% if body_bg_color_data.lightness >= 0.6 %} + {% assign body_bg_type = "light-background" %} + {% else %} + {% assign body_bg_type = "dark-background" %} + {% endif %} + {% else %} + {% assign body_bg_type = "light-background" %} + {% endif %} + {% endif %} + {% else %} + {% assign body_bg_type = "light-background" %} + {% endif %} + + {% if body_bg_color == nil %} + {% assign body_bg_color = "" %} + {% endif %} + + {% if body_bg_color_data == nil %} + {% assign body_bg_color_data_str = "" %} + {% else %} + {% assign body_bg_color_data_str = body_bg_color_data | json %} + {% endif %} + + + {% comment %}SITE BLOG PAGE CONTENT AREA RELATED VARIABLES.{% endcomment %} + {% comment %}Assign variables based on page type.{% endcomment %} + {% assign blog_body_bg = page.data.blog_body_bg %} + + {% assign blog_body_bg_color = blog_body_bg.color %} + {% assign blog_body_bg_color_data = blog_body_bg.colorData %} + {% assign blog_body_bg_combined_lightness = blog_body_bg.combinedLightness %} + + {% comment %}Sets the background type to choose active CMS color scheme.{% endcomment %} + {% if blog_body_bg %} + {% if blog_body_bg_combined_lightness %} + {% if blog_body_bg_combined_lightness > 0.6 %} + {% assign blog_body_bg_type = "light-background" %} + {% else %} + {% assign blog_body_bg_type = "dark-background" %} + {% endif %} + {% else %} + {% if blog_body_bg_color_data.a >= 0.6 %} + {% if blog_body_bg_color_data.lightness >= 0.6 %} + {% assign blog_body_bg_type = "light-background" %} + {% else %} + {% assign blog_body_bg_type = "dark-background" %} + {% endif %} + {% else %} + {% assign blog_body_bg_type = "light-background" %} + {% endif %} + {% endif %} + {% else %} + {% assign blog_body_bg_type = "light-background" %} + {% endif %} + + {% if blog_body_bg_color == nil %} + {% assign blog_body_bg_color = "" %} + {% endif %} + + {% if blog_body_bg_color_data == nil %} + {% assign blog_body_bg_color_data_str = "" %} + {% else %} + {% assign blog_body_bg_color_data_str = blog_body_bg_color_data | json %} + {% endif %} + + + {% comment %}FRONT PAGE FOOTER RELATED VARIABLES.{% endcomment %} + + {% capture footer_content_html %}{% unless editmode %}{% xcontent name="footer" %}{% endunless %}{% endcapture %} + {% capture footer_content_size %}{{ footer_content_html | size | minus : 1 }}{% endcapture %} + {% unless footer_content_size contains "-" %} + {% assign footer_has_content = true %} + {% endunless %} + + {% comment %}Assign variables based on page type.{% endcomment %} + {% if front_page %} + {% assign footer_bg = page.data.footer_bg %} + {% else %} + {% assign footer_bg = site.data.footer_bg %} + {% endif %} + + {% assign footer_bg_color = footer_bg.color %} + {% assign footer_bg_color_data = footer_bg.colorData %} + {% assign footer_bg_combined_lightness = footer_bg.combinedLightness %} + + {% comment %}Sets the background type to choose active CMS color scheme.{% endcomment %} + {% if footer_bg %} + {% if footer_bg_combined_lightness %} + {% if footer_bg_combined_lightness > 0.6 %} + {% assign footer_bg_type = "light-background" %} + {% else %} + {% assign footer_bg_type = "dark-background" %} + {% endif %} + {% else %} + {% if footer_bg_color_data.a >= 0.6 %} + {% if footer_bg_color_data.lightness >= 0.6 %} + {% assign footer_bg_type = "light-background" %} + {% else %} + {% assign footer_bg_type = "dark-background" %} + {% endif %} + {% else %} + {% assign footer_bg_type = "light-background" %} + {% endif %} + {% endif %} + {% else %} + {% assign footer_bg_type = "light-background" %} + {% endif %} + + {% if footer_bg_color == nil %} + {% if front_page %} + {% assign footer_bg_color = "" %} + {% else %} + {% assign footer_bg_color = "rgb(230,230,230)" %} + {% endif %} + {% endif %} + + {% if footer_bg_color_data == nil %} + {% assign footer_bg_color_data_str = "" %} + {% else %} + {% assign footer_bg_color_data_str = footer_bg_color_data | json %} + {% endif %} + + {% assign product_list_layout = "Product list" %} + {% assign product_layout = "Product" %} + + {% assign show_product_related_pages_in_main_menu = site.data.settings_root_item.show_product_related_pages_in_main_menu %} + + {% comment %}================================================================= + || Design editor variables. + ============================================================= {% endcomment %} + {% capture base_font_set %} + [ + { + "type": "group", + "title": "Sans Serif", + "list": [ + { + "title": "Fira Sans", + "value": "\"Fira Sans\", sans-serif" + }, + { + "title": "Lato", + "value": "\"Lato\", sans-serif" + }, + { + "title": "Montserrat", + "value": "\"Montserrat\", sans-serif" + }, + { + "title": "Open Sans", + "value": "\"Open Sans\", sans-serif" + }, + { + "title": "PT Sans", + "value": "\"PT Sans\", sans-serif" + }, + { + "title": "Raleway", + "value": "\"Raleway\", sans-serif" + }, + { + "title": "Roboto", + "value": "\"Roboto\", sans-serif" + }, + { + "title": "Source Sans Pro", + "value": "\"Source Sans Pro\", sans-serif" + }, + { + "title": "Ubuntu", + "value": "\"Ubuntu\", sans-serif" + } + ] + }, + { + "type": "group", + "title": "Serif", + "list": [ + { + "title": "Arvo", + "value": "\"Arvo\", serif" + }, + { + "title": "Crimson Text", + "value": "\"Crimson Text\", serif" + }, + { + "title": "Georgia", + "value": "\"Georgia\", serif" + }, + { + "title": "Lora", + "value": "\"Lora\", serif" + }, + { + "title": "Noto Serif", + "value": "\"Noto Serif\", serif" + }, + { + "title": "Playfair Display", + "value": "\"Playfair Display\", serif" + }, + { + "title": "PT Serif", + "value": "\"PT Serif\", serif" + }, + { + "title": "Roboto Slab", + "value": "\"Roboto Slab\", serif" + } + ] + }, + { + "type": "group", + "title": "Monospace", + "list": [ + { + "title": "Anonymous Pro", + "value": "\"Anonymous Pro\", monospace" + }, + { + "title": "Cousine", + "value": "\"Cousine\", monospace" + }, + { + "title": "Roboto Mono", + "value": "\"Roboto Mono\", monospace" + }, + { + "title": "Ubuntu Mono", + "value": "\"Ubuntu Mono\", monospace" + } + ] + } + ] + {% endcapture %} + + {% capture base_alignment_set %} + [ + { + "titleI18n": "left", + "value": "left" + }, + { + "titleI18n": "center", + "value": "center" + }, + { + "titleI18n": "right", + "value": "right" + } + ] + {% endcapture %} + + {% capture base_border_style_set %} + [ + { + "titleI18n": "solid", + "value": "solid" + }, + { + "titleI18n": "none", + "value": "hidden" + } + ] + {% endcapture %} + + {% comment %}VOOG intro popover targets. Add them where applicable popovers should appear.{% endcomment %} + {% capture edy_intro_add_page %}{% if editmode %}data-edy-intro-popover="edy-add-page"{% endif %}{% endcapture %} + {% capture edy_intro_add_lang %}{% if editmode %}data-edy-intro-popover="edy-add-lang"{% endif %}{% endcapture %} + {% capture edy_intro_edit_text %}{% if editmode %}data-edy-intro-popover="edy-edit-text"{% endif %}{% endcapture %} + +{% endcapture %} diff --git a/images/article-header-bg.jpg b/images/article-header-bg.jpg new file mode 100644 index 0000000..1989dd4 Binary files /dev/null and b/images/article-header-bg.jpg differ diff --git a/images/article-header-bg_block.jpg b/images/article-header-bg_block.jpg new file mode 100644 index 0000000..06523df Binary files /dev/null and b/images/article-header-bg_block.jpg differ diff --git a/images/article-header-bg_huge.jpg b/images/article-header-bg_huge.jpg new file mode 100644 index 0000000..43d58bb Binary files /dev/null and b/images/article-header-bg_huge.jpg differ diff --git a/images/article-header-bg_large.jpg b/images/article-header-bg_large.jpg new file mode 100644 index 0000000..bf3f4ea Binary files /dev/null and b/images/article-header-bg_large.jpg differ diff --git a/images/feature-image-1_large.jpg b/images/feature-image-1_large.jpg new file mode 100644 index 0000000..283fe9e Binary files /dev/null and b/images/feature-image-1_large.jpg differ diff --git a/images/feature-image-2_large.jpg b/images/feature-image-2_large.jpg new file mode 100644 index 0000000..b96d83c Binary files /dev/null and b/images/feature-image-2_large.jpg differ diff --git a/images/feature-image-3_large.jpg b/images/feature-image-3_large.jpg new file mode 100644 index 0000000..81cea21 Binary files /dev/null and b/images/feature-image-3_large.jpg differ diff --git a/images/front-header-bg.jpg b/images/front-header-bg.jpg new file mode 100644 index 0000000..406119d Binary files /dev/null and b/images/front-header-bg.jpg differ diff --git a/images/front-header-bg_block.jpg b/images/front-header-bg_block.jpg new file mode 100644 index 0000000..b3ff9d3 Binary files /dev/null and b/images/front-header-bg_block.jpg differ diff --git a/images/front-header-bg_huge.jpg b/images/front-header-bg_huge.jpg new file mode 100644 index 0000000..64e0189 Binary files /dev/null and b/images/front-header-bg_huge.jpg differ diff --git a/images/front-header-bg_large.jpg b/images/front-header-bg_large.jpg new file mode 100644 index 0000000..f88454b Binary files /dev/null and b/images/front-header-bg_large.jpg differ diff --git a/images/ico-flags.png b/images/ico-flags.png new file mode 100644 index 0000000..b859e11 Binary files /dev/null and b/images/ico-flags.png differ diff --git a/images/page-header-bg.jpg b/images/page-header-bg.jpg new file mode 100644 index 0000000..9e738ca Binary files /dev/null and b/images/page-header-bg.jpg differ diff --git a/images/page-header-bg_block.jpg b/images/page-header-bg_block.jpg new file mode 100644 index 0000000..d9ae285 Binary files /dev/null and b/images/page-header-bg_block.jpg differ diff --git a/images/page-header-bg_huge.jpg b/images/page-header-bg_huge.jpg new file mode 100644 index 0000000..036e807 Binary files /dev/null and b/images/page-header-bg_huge.jpg differ diff --git a/images/page-header-bg_large.jpg b/images/page-header-bg_large.jpg new file mode 100644 index 0000000..624ca24 Binary files /dev/null and b/images/page-header-bg_large.jpg differ diff --git a/javascripts/main.js b/javascripts/main.js new file mode 100644 index 0000000..cfbb733 --- /dev/null +++ b/javascripts/main.js @@ -0,0 +1,1579 @@ +/*! + * jQuery Textarea AutoSize plugin + * Author: Javier Julio + * Licensed under the MIT license + */ +;(function ($, window, document, undefined) { + + var pluginName = "textareaAutoSize"; + var pluginDataName = "plugin_" + pluginName; + + var containsText = function (value) { + return (value.replace(/\s/g, '').length > 0); + }; + + function Plugin(element, options) { + this.element = element; + this.$element = $(element); + this.init(); + } + + Plugin.prototype = { + init: function() { + var height = this.$element.outerHeight(); + var diff = parseInt(this.$element.css('paddingBottom')) + + parseInt(this.$element.css('paddingTop')) || 0; + + if (containsText(this.element.value)) { + this.$element.height(this.element.scrollHeight - diff); + } + + // keyup is required for IE to properly reset height when deleting text + this.$element.on('input keyup', function(event) { + var $window = $(window); + var currentScrollPosition = $window.scrollTop(); + + $(this) + .height(0) + .height(this.scrollHeight - diff); + + $window.scrollTop(currentScrollPosition); + }); + } + }; + + $.fn[pluginName] = function (options) { + this.each(function() { + if (!$.data(this, pluginDataName)) { + $.data(this, pluginDataName, new Plugin(this, options)); + } + }); + return this; + }; + +})(jQuery, window, document); + +;(function($) { + //============================================================================ + // Helper function to detect if page viewer is in editmode. + //============================================================================ + var editmode = function () { + return $('html').hasClass('editmode'); + }; + + // Function to limit the rate at which a function can fire. + var debounce = function(func, wait, immediate) { + var timeout; + return function() { + var context = this, args = arguments; + var later = function() { + timeout = null; + if (!immediate) func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; + }; + + + $('.mobile-menu-toggler').click(function(event) { + event.preventDefault(); + $('html').toggleClass('mobilemenu-open'); + $('html').removeClass('menu-language-popover-open'); + $('body').removeClass('mobilesearch-open'); + $('#mobile-menu').removeClass('reset-touch').addClass('reset-touch'); + }); + + $('.tags-toggle').click(function() { + $(this).find('.ico-arrow').toggleClass('active'); + $('.tags-bottom').toggleClass('visible'); + }); + + $('.js-toggle-sub-menu').click(function() { + // TODO: Remove this hack if iOS Safari rendering issue is fixed. + $('#mobile-menu').removeClass('reset-touch').addClass('reset-touch'); + $(this).toggleClass('active'); + $(this).parent('li').toggleClass('current-parent'); + }); + + $('.mobile-menu-close').on('click', function() { + event.preventDefault(); + + if ($('html').hasClass('menu-language-popover-open')) { + $('html').removeClass('menu-language-popover-open'); + } else { + $('html').removeClass('mobilemenu-open'); + } + }); + + + $('.js-lang-menu-btn').on('click', function() { + $('html').removeClass('search-open'); + $('.js-search').removeClass('active'); + + if ($('html').hasClass('menu-language-popover-open')) { + $('html').removeClass('menu-language-popover-open'); + } else { + bindLanguageMenuPositioning($(this)); + + $('html').addClass('menu-language-popover-open'); + } + }); + + var bindLanguageMenuPositioning = function(currentButton) { + var offsetItem = $('html').hasClass('language-flags-disabled') ? currentButton.find('.js-lang-title-inner') : currentButton, + rightOffsetHelper = $('html').hasClass('language-flags-disabled') ? 5 : 9; + + $('.js-popup-menu-popover').css({ + top: offsetItem.offset().top + offsetItem.outerHeight() - $('.site-container').offset().top, + right: $(window).width() - offsetItem.offset().left - offsetItem.outerWidth() - rightOffsetHelper + }); + }; + + // =========================================================================== + // Toggles language menu mode. + // =========================================================================== + var bindLanguageMenuSettings = function(valuesObj) { + if (!('type' in valuesObj)) { + valuesObj.type = 'popover'; + } + + if (!('item_state' in valuesObj)) { + valuesObj.item_state = 'flags_and_names'; + } + + var langSettingsEditor = new Edicy.SettingsEditor($('.js-menu-language-settings-toggle').get(0), { + menuItems: [ + { + "titleI18n": "format_desktop_only", + "type": "radio", + "key": "type", + "list": [ + { + "titleI18n": "dropdown_menu", + "value": "popover" + }, + { + "titleI18n": "expanded_menu", + "value": "list" + }, + ] + }, + { + "titleI18n": "show", + "type": "radio", + "key": "item_state", + "list": [ + { + "titleI18n": "flags_only", + "value": "flags_only" + }, + { + "titleI18n": "names_only", + "value": "names_only" + }, + { + "titleI18n": "flags_and_names", + "value": "flags_and_names" + } + ] + } + ], + + buttonTitleI18n: "settings", + + values: valuesObj, + + containerClass: ['js-menu-language-settings-popover', 'js-prevent-sideclick'], + + preview: function(data) { + var $html = $('html'), + $languageSettingsMenuElement = $('.js-menu-language-settings'); + + if (data.type === 'list') { + $html.removeClass('language-menu-mode-popover'); + $html.removeClass('menu-language-popover-open'); + $html.addClass('language-menu-mode-list'); + } else { + $html.removeClass('language-menu-mode-list'); + $html.addClass('language-menu-mode-popover'); + $html.addClass('menu-language-popover-open'); + } + + if (data.item_state === 'flags_only') { + $html.removeClass('language-flags-disabled'); + $html.removeClass('language-names-enabled'); + $html.addClass('language-flags-enabled'); + $html.addClass('language-names-disabled'); + } else if (data.item_state === 'names_only') { + $html.removeClass('language-flags-enabled'); + $html.removeClass('language-names-disabled'); + $html.addClass('language-flags-disabled'); + $html.addClass('language-names-enabled'); + } else if (data.item_state === 'flags_and_names') { + $html.removeClass('language-flags-disabled'); + $html.removeClass('language-names-disabled'); + $html.addClass('language-flags-enabled'); + $html.addClass('language-names-enabled'); + } + + toggleLanguageSettingsLocation(); + this.setPosition(); + }, + + commit: function(data) { + siteData.set('settings_language_menu', data); + } + }); + + toggleLanguageSettingsLocation(); + }; + + var toggleLanguageSettingsLocation = function() { + var $html = $('html'), + $languageSettingsMenuElement = $('.js-menu-language-settings'); + + if ($(window).width() <= 1024 && $languageSettingsMenuElement.closest('.js-menu-main-mobile').length === 0) { + $languageSettingsMenuElement.appendTo('.js-menu-main-mobile'); + } else if ($(window).width() > 1024 && $languageSettingsMenuElement.closest('.js-menu-main-desktop').length === 0) { + if ($html.hasClass('language-menu-mode-list')) { + $languageSettingsMenuElement.appendTo('.js-menu-language-list-setting-parent'); + bindLanguageMenuPositioning($('.js-lang-menu-btn')); + } else { + $languageSettingsMenuElement.appendTo('.js-menu-language-popover-setting-parent'); + bindLanguageMenuPositioning($('.js-lang-menu-btn')); + } + } + }; + + var bindFallbackHeaderLeftWidthCalculation = function() { + var headerWidth = $('.js-header-top-wrap').width(), + headerRight = $('.js-header-right'), + headerRightWidth = headerRight.width(), + headerRightMargin = parseInt(headerRight.css('margin-left')) + 1; + + $('.js-header-left').css('min-width', headerWidth - headerRightWidth - headerRightMargin); + }; + + // Returns the suitable version of the image depending on the viewport width. + var getImageByWidth = function(sizes, targetWidth) { + var prevImage; + + for (var i = 0, max = sizes.length; i < max; i++) { + if (sizes[i].width < targetWidth) { + return prevImage || sizes[i]; + } + prevImage = sizes[i]; + } + // Makes sure that smallest is returned if all images bigger than targetWidth. + return sizes[sizes.length - 1]; + }; + + var bgPickerImageSizesContains = function(sizes, url) { + for (var i = sizes.length; i--;) { + if (url.indexOf(sizes[i].url.trim()) > -1) { + return true; + } + } + return false; + }; + + // Checks the lightness sum of header background image and color and sets the lightness class depending on it's value. + var bgPickerContentLightnessClass = function(bgPickerArea, combinedLightness) { + if (combinedLightness > 0.6) { + $(bgPickerArea).find('.js-background-type').addClass('light-background').removeClass('dark-background'); + } else { + $(bgPickerArea).find('.js-background-type').addClass('dark-background').removeClass('light-background'); + } + }; + + // Header background image and color preview logic function. + var bgPickerPreview = function(bgPickerArea, data, bgPicker, defaultImageColor) { + // Defines the variables used in preview logic. + + var bgPickerImagePrevious = $(bgPickerArea).find('.js-background-image').css('background-image'), + bgPickerImageSuitable = data.imageSizes ? getImageByWidth(data.imageSizes, $(window).width()) : null, + bgPickerImage = (data.image && data.image !== '') ? 'url(' + bgPickerImageSuitable.url + ')' : 'none', + bgPickerImageSizes = (data.imageSizes && data.imageSizes !== '') ? data.imageSizes : null, + bgPickerColor = (data.color && data.color !== '') ? data.color : 'rgba(0,0,0,0)', + bgPickerColorDataLightness = (data.colorData && data.colorData !== '') ? data.colorData.lightness : 1, + colorExtractImage = $(''), + colorExtractCanvas = $(''), + colorExtractImageUrl = (data.image && data.image !== '') ? data.image : null; + + if (colorExtractImageUrl) { + if (bgPickerImageSizesContains(bgPickerImageSizes, bgPickerImagePrevious)) { + bgPicker.imageColor = bgPicker.imageColor ? bgPicker.imageColor : defaultImageColor; + bgPicker.combinedLightness = getCombinedLightness(bgPicker.imageColor, bgPickerColor); + bgPickerContentLightnessClass(bgPickerArea, bgPicker.combinedLightness); + + } else { + colorExtractImage.attr('src', colorExtractImageUrl.replace(/.*\/(photos|voogstock)/g,'/photos')); + colorExtractImage.on('load', function() { + ColorExtract.extract(colorExtractImage[0], colorExtractCanvas[0], function(data) { + bgPicker.imageColor = data.bgColor ? data.bgColor : 'rgba(255,255,255,1)'; + bgPicker.combinedLightness = getCombinedLightness(bgPicker.imageColor, bgPickerColor); + bgPickerContentLightnessClass(bgPickerArea, bgPicker.combinedLightness); + + }); + }); + }; + } else { + bgPicker.imageColor = 'rgba(255,255,255,1)'; + bgPicker.combinedLightness = getCombinedLightness(bgPicker.imageColor, bgPickerColor); + bgPickerContentLightnessClass(bgPickerArea, bgPicker.combinedLightness); + + }; + + // Updates the bgPickerContent background image and background color. + if (pageType === 'articlePage' && bgPickerArea.hasClass('site-header')) { + $('#preview-style').html('.photo-article.site-header .js-background-image { background-image: ' + bgPickerImage + ' } .photo-article.site-header .js-background-color { background-color: ' + bgPickerColor + ' }'); + } else { + $(bgPickerArea).find('.js-background-image').css({'background-image' : bgPickerImage}); + $(bgPickerArea).find('.js-background-color').css({'background-color' : bgPickerColor}); + } + }; + + var normalizeValue = function(value) { + if (value == null || (typeof value == 'string' && value.match(/^[\\'"]+$/))) { + return ''; + } else { + return value; + } + }; + + // Header background image and color save logic function. + var bgPickerCommit = function(dataBgKey, data, bgPicker, pageType) { + var commitData = $.extend(true, {}, data); + commitData.image = data.image || ''; + commitData.imageSizes = normalizeValue(data.imageSizes); + commitData.color = data.color || ''; + commitData.combinedLightness = bgPicker.combinedLightness; + + if (pageType === 'articlePage') { + if (dataBgKey == 'footer_bg') { + siteData.set(dataBgKey, commitData); + } else { + Edicy.articles.currentArticle.setData(dataBgKey, commitData); + } + } else { + if (pageType === 'contentPage' && (dataBgKey === 'footer_bg') || (dataBgKey === 'body_bg')) { + siteData.set(dataBgKey, commitData); + } else { + pageData.set(dataBgKey, commitData); + } + } + }; + + var colorSum = function(bgColor, fgColor) { + if (bgColor && fgColor) { + if (typeof bgColor == 'string') { + bgColor = bgColor.replace(/rgba?\(/,'').replace(/\)/,'').split(','); + $.each(bgColor, function(n, x) {bgColor[n] = +x;}); + } + if (typeof fgColor == 'string') { + fgColor = fgColor.replace(/rgba?\(/,'').replace(/\)/,'').split(','); + $.each(fgColor, function(n, x) {fgColor[n] = +x;}); + } + if (typeof bgColor == 'object' && bgColor.hasOwnProperty('length')) { + if (bgColor.length == 3) { bgColor.push(1.0); } + } + if (typeof fgColor == 'object' && fgColor.hasOwnProperty('length')) { + if (fgColor.length == 3) { fgColor.push(1.0); } + } + var result = [0, 0, 0, 0]; + result[3] = 1 - (1 - fgColor[3]) * (1 - bgColor[3]); + if (result[3] === 0) { result[3] = 1e-6; } + result[0] = Math.min(fgColor[0] * fgColor[3] / result[3] + bgColor[0] * bgColor[3] * (1 - fgColor[3]) / result[3], 255); + result[1] = Math.min(fgColor[1] * fgColor[3] / result[3] + bgColor[1] * bgColor[3] * (1 - fgColor[3]) / result[3], 255); + result[2] = Math.min(fgColor[2] * fgColor[3] / result[3] + bgColor[2] * bgColor[3] * (1 - fgColor[3]) / result[3], 255); + return $.map(result, function(e) { return Math.floor(e); }); + } + }; + + var getCombinedColor = function(bgColor, fgColor) { + var sum = colorSum(bgColor || [255,255,255,1], fgColor || [255,255,255,1]); + return sum; + }; + + var getCombinedLightness = function(bgColor, fgColor) { + var combinedColor = getCombinedColor(bgColor, fgColor); + var color = Math.round(((+combinedColor[0]) * 0.2126 + (+combinedColor[1]) * 0.7152 + (+combinedColor[2]) * 0.0722) / 2.55) / 100; + return color; + }; + + var bgPickerColorScheme = function(lightness) { + if (typeof lightness != 'undefined') { + if (lightness > 0.6) { + $('.header-wrapper').addClass('light').removeClass('dark'); + } else { + $('.header-wrapper').addClass('dark').removeClass('light'); + } + } + }; + + var setImageOrientation = function($contentItemBox, width, height) { + var $imgDropAreaTarget = $contentItemBox.find('.js-content-item-img-drop-area'), + $cropToggleButton = $contentItemBox.find('.js-toggle-crop-state'); + + if (width > height) { + $imgDropAreaTarget + .removeClass('image-landscape image-square image-portrait') + .addClass('image-landscape') + ; + } else if (width === height) { + $imgDropAreaTarget + .removeClass('image-landscape image-square image-portrait') + .addClass('image-square') + ; + } else { + $imgDropAreaTarget + .removeClass('image-landscape image-square image-portrait') + .addClass('image-portrait') + ; + } + + if ($imgDropAreaTarget.hasClass('image-square')) { + $cropToggleButton + .removeClass('is-visible') + .addClass('is-hidden') + ; + } else { + $cropToggleButton + .removeClass('is-hidden') + .addClass('is-visible') + ; + } + }; + + var setItemImage = function($contentItemBox, $imgDropArea, itemId, imageId, itemType) { + var apiType = itemType === 'article' ? 'articles' : 'pages', + itemData = new Edicy.CustomData({ + type: itemType, + id: itemId + }); + + $.ajax({ + type: 'PATCH', + contentType: 'application/json', + url: '/admin/api/' + apiType +'/' + itemId, + data: JSON.stringify({'image_id': imageId}), + dataType: 'json', + success: function(data) { + itemData.set('image_crop_state', 'not-cropped'); + $contentItemBox.removeClass('not-loaded with-error').addClass('is-loaded'); + $contentItemBox.find('.edy-img-drop-area-placeholder').css('opacity', 1); + $imgDropArea.css('opacity', 1); + }, + timeout: 30000, + error: function(data) { + $contentItemBox.removeClass('not-loaded is-loaded with-error').addClass('with-error'); + } + }); + }; + + // =========================================================================== + // Binds editmode image drop areas. + // =========================================================================== + var bindContentItemImgDropAreas = function(placeholderText) { + $('.js-content-item-img-drop-area').each(function(index, imgDropAreaTarget) { + var $imgDropAreaTarget = $(imgDropAreaTarget), + $contentItemBox = $imgDropAreaTarget.closest('.js-content-item-box'), + itemId = $contentItemBox.data('item-id'), + itemType = $contentItemBox.data('item-type'), + itemData = new Edicy.CustomData({ + type: itemType, + id: itemId + }); + + var imgDropArea = new Edicy.ImgDropArea($imgDropAreaTarget, { + positionable: false, + target_width: 1280, + placeholder: '
    ' + placeholderText + '
    ', + removeBtn: '
    ' + + '
    ' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
    ' + + '
    ', + + change: function(data) { + var imageId; + + $imgDropAreaTarget + .removeClass('is-cropped') + .addClass('not-cropped') + .css('opacity', .1) + ; + + if (data) { + imageId = data.original_id; + + $contentItemBox + .removeClass('without-image is-loaded with-error') + .addClass('with-image not-loaded') + ; + + setImageOrientation($contentItemBox, data.width, data.height); + } else { + imageId = null; + + $contentItemBox + .removeClass('with-image is-loaded with-error') + .addClass('without-image not-loaded') + ; + + $contentItemBox.find('.edy-img-drop-area-placeholder').css('opacity', 0); + } + + setItemImage($contentItemBox, $imgDropAreaTarget, itemId, imageId, itemType); + } + }); + }); + }; + + // =========================================================================== + // Sets functions that will be initiated globally when resizing the browser + // window. + // =========================================================================== + var bindContentItemImageCropToggle = function() { + $('.js-toggle-crop-state').on('click', function() { + var $contentItemBox = $(this).closest('.js-content-item-box'), + $imgDropAreaTarget = $contentItemBox.find('.js-content-item-img-drop-area'), + itemId = $contentItemBox.data('item-id'), + itemType = $contentItemBox.data('item-type'), + itemData = new Edicy.CustomData({ + type: itemType, + id: itemId + }), + imageCropState; + + if ($imgDropAreaTarget.hasClass('is-cropped')) { + $imgDropAreaTarget + .removeClass('is-cropped') + .addClass('not-cropped') + ; + + imageCropState = 'not-cropped'; + } else { + $imgDropAreaTarget + .removeClass('not-cropped') + .addClass('is-cropped') + ; + + imageCropState = 'is-cropped'; + } + + itemData.set('image_crop_state', imageCropState); + }); + }; + + // =========================================================================== + // Load article cover images only when they are close or appearing in the + // viewport. + // =========================================================================== + var bindContentItemImageLazyload = function() { + $(document).ready(function() { + setTimeout(function() { + $('.js-content-item-box').addClass('not-loaded'); + }, 3000); + }); + + $('.js-lazyload').lazyload({ + threshold : 500, + effect : "fadeIn", + placeholder: 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==', + + load: function() { + var $contentItemBox = $(this).closest('.js-content-item-box'); + + $contentItemBox.removeClass('not-loaded with-error').addClass('is-loaded'); + + setTimeout(function() { + $contentItemBox.removeClass('not-loaded with-error'); + $contentItemBox.find('.js-loader').remove(); + }, 3000); + } + }); + }; + + // Shows/hides the popover main menu (visible on smalles screens). + var handleElementsClick = function() { + $('.site-container').on('mousedown', function(event) { + if (!$(event.target).closest('.js-prevent-sideclick').length) { + + if ($('.js-btn').hasClass('open')) { + $('.js-btn').removeClass('open'); + } + + if ($('.js-popover').hasClass('expanded')) { + $('.js-popover').removeClass('expanded'); + } + + if ($('.js-search').hasClass('active')) { + $('.js-search').removeClass('active'); + $('.search-btn').removeClass('open'); + } + + if ($('html').hasClass('mobilemenu-open')) { + $('.mobile-menu-toggler').trigger('click'); + } + + if ($('html').hasClass('menu-language-popover-open')) { + $('html').removeClass('menu-language-popover-open'); + } + + if ($('html').hasClass('comments-open')) { + $('html').removeClass('comments-open'); + $('.js-comments-toggle-btn, .js-comments').removeClass('open'); + } + + if ($('html').hasClass('search-open')) { + $('html').removeClass('search-open'); + } + + handleCommentsToggleing(); + } + }); + + // Toggles the popover main menu (visible on smalles screens). + $('.js-menu-btn').click(function() { + $(this).toggleClass('open'); + $('.js-menu-main').toggleClass('expanded'); + }); + + // Toggles the popover language menu. + $('.js-menu-lang-btn').click(function() { + $('.js-menu-lang-btn').toggleClass('open'); + $('.js-menu-lang').toggleClass('expanded'); + }); + + $('.js-tags-btn').click(function() { + $(this).toggleClass('open'); + $('.js-menu-tags').toggleClass('expanded'); + }); + + // Toggles the search modal. + $('.js-search-toggle-btn').click(function() { + $('html').removeClass('mobilemenu-open'); + $('html').removeClass('menu-language-popover-open'); + $('.js-search').toggleClass('active'); + $('.js-search').hasClass('active') ? $('.js-search-input').focus() : ''; + $('html').toggleClass('search-open'); + }); + + $('.js-search-input').on('input', function() { + var searchCleanBtn = $(this).parent().next(); + + if ($(this).val().length > 1) { + searchCleanBtn.addClass('active'); + } else { + searchCleanBtn.removeClass('active'); + } + + handleMobileSearchHeight(); + }); + + $('.js-search-reset-btn').click(function() { + $('html').removeClass('search-open'); + $('.js-search').removeClass('active'); + }); + + // Opens the comments modal. + $('.js-comments-toggle-btn').click(function() { + $(this).toggleClass('open'); + $('.js-comments').toggleClass('open'); + $('html').toggleClass('comments-open'); + $('.js-comments-input').val('').focus(); + + + if ($(window).width() > 640) { + handleCommentsToggleing(); + }; + }); + + // Submenu lvl1 load more on mobile. + $('.submenu-load-more-lvl1').click(function() { + $(this).addClass('open'); + $(this).next().addClass('open'); + $(this).next().next().addClass('open'); + }); + + $('.submenu-close-lvl1').click(function() { + $(this).removeClass('open'); + $(this).prev().removeClass('open'); + $(this).next().removeClass('open'); + }); + + // Submenu lvl2 load more on mobile. + $('.submenu-load-more-lvl2').click(function() { + $(this).addClass('open'); + $(this).next().addClass('open'); + $(this).next().next().addClass('open'); + }); + + $('.submenu-close-lvl2').click(function() { + $(this).removeClass('open'); + $(this).prev().removeClass('open'); + $(this).next().removeClass('open'); + }); + + $('.js-type-btn').click(function() { + toggleArticleType($(this)); + }); + + $('.publicmode .js-slide-to-article').click(function() { + $('html, body').animate({ + scrollTop: $('.page-content').offset().top + }, 300); + }); + }; + + var handleCommentsToggleing = function() { + var mainContent = $('.main-content'); + + if ($('html').hasClass('comments-open')) { + var documentHeight = $(document).outerHeight(), + headerHeight = $('.js-site-header').outerHeight(), + articleComments = $('.article-comments'), + articleCommentsHeight = articleComments.outerHeight(), + siteFooterHeight = $('.site-footer').outerHeight(); + + articleComments.css('min-height', documentHeight - headerHeight); + mainContent.css('min-height', articleCommentsHeight - siteFooterHeight); + + $('html, body').animate({ + scrollTop: $('.js-comments').offset().top + }, 300); + } else { + mainContent.removeAttr('style'); + } + }; + + // Sets the search modal height. + var handleSearchModalHeight = function() { + var windowWidth = $(window).width(); + windowHeight = $(window).height(), + searchModal = $('.js-voog-search-modal'); + + if (windowWidth >= 1400 ) { + searchModalHeight = windowHeight - 190; + } + else { + searchModalHeight = windowHeight - 171; + } + + searchModal.css({'max-height': searchModalHeight}); + }; + + // Sets search modal height on search submit. + var handleSearchSubmit = function() { + $('.js-search-form').on('submit', function() { + handleSearchModalHeight(); + }); + }; + + // Set article comments section the height of the document minus the header section + var commentsHeight = function() { + $('.article-comments').removeAttr('style'); + var documentHeight = $(document).height(), + siteHeight = $('.site-container').height(), + commentsHeight = $('.article-comments').height(), + commentsPadTop = parseInt($('.article-comments').css('padding-top')), + commentsPadBottom = parseInt($('.article-comments').css('padding-bottom')), + mainHeight = $('.page-content').height(), + headerHeight = $('.site-header').height(), + footerHeight = $('.site-footer').height(), + commentsTarget = (mainHeight + headerHeight + footerHeight) - headerHeight - commentsPadTop - commentsPadBottom; + + if ($(window).width() > 480) { + $('.article-comments').css('min-height', commentsTarget); + } + }; + + /*var autoSizeFormCommentArea = function() { + $('.comment-form .form_field_textarea').textareaAutoSize(); + };*/ + + // Initiations + var initWindowResize = function() { + $(window).resize(debounce(function() { + commentsHeight(); + handleMobileSearchHeight(); + toggleLanguageSettingsLocation(); + + $('.js-menu-language-settings-popover').hide(); + }, 100)); + + $(window).resize(debounce(function() { + $('html').removeClass('menu-language-popover-open'); + $('.js-menu-language-settings-popover').hide(); + $('.js-menu-language-settings-toggle').removeClass('edy-cbtn-active'); + }, 25)); + }; + + // Scrolls to the comment-form if comment submit failed (to show the error messages to the user) + var focusFormWithErrors = function() { + $(document).ready(function() { + if ($('.comment-form').hasClass('form_with_errors')) { + $('html, body').scrollTop($('.comment-form').offset().top); + } else if ($('form').find('.form_error, .form_notice').length > 0) { + $('html, body').scrollTop($('.form_error, .form_notice').closest('form').offset().top); + } + }); + }; + + var tableWrapper = function() { + $('body:not(.editmode) table').each(function() { + $(this).wrap('
    '); + }); + }; + + var toggleArticleType = function(currentButton) { + $('.js-type-btn').removeClass('is-active'); + currentButton.addClass('is-active'); + + if (currentButton.data('article-type') == 'photo-article') { + $('.js-article-title').prependTo('.js-article-header-title-wrap'); + + $('.js-text-article-component').addClass('is-hidden'); + $('.js-photo-article-component').removeClass('is-hidden'); + + $('.js-site-header').addClass('photo-article'); + $('.js-site-header .js-background-settings').removeClass('is-hidden'); + + var headerBgType = $('.js-site-header .js-background-type').data('article-bg-type'); + $('.js-site-header .js-background-type').removeClass('dark-background light-background').addClass(headerBgType); + + Edicy.articles.currentArticle.setData('photo_article_state', true); + } else { + $('.js-article-title').prependTo('.js-article-body-title-wrap'); + + $('.js-photo-article-component').addClass('is-hidden'); + $('.js-text-article-component').removeClass('is-hidden'); + + $('.js-site-header').removeClass('photo-article') + $('.js-site-header .js-background-settings').addClass('is-hidden'); + + var headerBgType = $('.js-site-header .js-background-type').data('blog-bg-type'); + $('.js-site-header .js-background-type').removeClass('dark-background light-background').addClass(headerBgType); + + Edicy.articles.currentArticle.setData('photo_article_state', false); + } + }; + + var handleMobileSearchHeight = function() { + if ($(window).width() <= 640) { + $('.js-voog-search-modal').css('max-height', $(window).height() - 56); + } else { + $('.js-voog-search-modal').css('max-height', 'auto'); + } + }; + + // =========================================================================== + // Toggles product categories visibility in main menu. + // =========================================================================== + var bindRootItemSettings = function(rootItemValuesObj) { + if (!('show_product_related_pages_in_main_menu' in rootItemValuesObj)) { + rootItemValuesObj.show_product_related_pages_in_main_menu = false; + } + + $('.js-root-item-settings-toggle').each(function(index, languageMenuSettingsButton) { + var rootItemSettingsEditor = new Edicy.SettingsEditor(languageMenuSettingsButton, { + menuItems: [ + { + "titleI18n": "show_in_main_menu", + "type": "checkbox", + "key": "show_product_related_pages_in_main_menu", + "states": { + "on": true, + "off": false + } + } + ], + + buttonTitleI18n: "settings", + + values: rootItemValuesObj, + + containerClass: ['js-root-item-settings-popover', 'js-prevent-sideclick'], + + preview: function(data) { + if (!data.show_product_related_pages_in_main_menu === true) { + $('.js-menu-item-products').addClass('is-hidden'); + } else { + $('.js-menu-item-products').removeClass('is-hidden'); + } + }, + + commit: function(data) { + siteData.set('settings_root_item', data); + } + }); + }); + }; + + var initBlogPage = function() { + // Add blog listing layout specific functions here. + }; + + var initArticlePage = function() { + // Add single post layout specific functions here. + commentsHeight(); + + if ($('html').hasClass('js-calculate-comments-height')) { + handleCommentsToggleing(); + }; + }; + + var initCommonPage = function() { + // Add common page layout specific functions here. + }; + + var initFrontPage = function() { + // Add front page layout specific functions here. + }; + + // =========================================================================== + // Sets functions that will be initiated on items list layouts. + // =========================================================================== + var initItemsPage = function() { + if (!editmode()) { + bindContentItemImageLazyload(); + } + }; + + // =========================================================================== + // Detects design editor changes. + // =========================================================================== + var detectDesignEditorChanges = function() { + document.addEventListener('edicy:customstyles:change', function(event) { + if (Object.keys(event.detail.changes).indexOf('--header-background-color') > -1) { + if (event.detail.changes['--header-background-color'].value === undefined) { + $('body').removeClass('header-top-with-bg'); + + siteData.remove('has_header_bg_color'); + } + else { + $('body').addClass('header-top-with-bg'); + + siteData.set('has_header_bg_color', true); + } + + } + }); + }; + + var init = function() { + // Add site wide functions here. + handleElementsClick(); + tableWrapper(); + focusFormWithErrors(); + //autoSizeFormCommentArea(); + detectDesignEditorChanges(); + + if (!Modernizr.flexbox && editmode()) { + bindFallbackHeaderLeftWidthCalculation(); + } + + }; + + // =========================================================================== + // Binds site search functionality. + // =========================================================================== + var bindSiteSearch = function(searchForm, languageCode, noResultsString) { + if (searchForm) { + var search = new VoogSearch(searchForm, { + // This defines the number of results per query. + per_page: 10, + // Language code for restricting the search to page language. + lang: languageCode, + // If given, an DOM element results are rendered inside that element + resultsContainer: $('.js-voog-search-modal').get(0), + // Defines if modal should close on sideclick. + sideclick: true, + // Mobile checkpoint. + mobileModeWidth: 640, + // Updates results on every keypress. + updateOnKeypress: true, + // String for feedback if no results are found. + noResults: noResultsString + }); + } + }; + + // Enables the usage of the initiations outside this file. + window.site = $.extend(window.site || {}, { + bgPickerPreview: bgPickerPreview, + bgPickerCommit: bgPickerCommit, + bgPickerColorScheme: bgPickerColorScheme, + initWindowResize: initWindowResize, + initBlogPage: initBlogPage, + initArticlePage: initArticlePage, + initCommonPage: initCommonPage, + initFrontPage: initFrontPage, + bindLanguageMenuSettings: bindLanguageMenuSettings, + initItemsPage: initItemsPage, + bindContentItemImgDropAreas: bindContentItemImgDropAreas, + bindContentItemImageCropToggle: bindContentItemImageCropToggle, + bindRootItemSettings: bindRootItemSettings, + bindSiteSearch: bindSiteSearch + }); + + window.site = $.extend(window.site || {}, { + }); + + init(); +})(jQuery); + +// quantize.js, Copyright 2012 Shao-Chung Chen. +// Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) + +// Basic CoffeeScript port of the (MMCQ) Modified Media Cut Quantization +// algorithm from the Leptonica library (http://www.leptonica.com/). +// Return a color map you can use to map original pixels to the reduced palette. +// +// Rewritten from the JavaScript port (http://gist.github.com/1104622) +// developed by Nick Rabinowitz under the MIT license. + +// Generated by CoffeeScript 1.3.3 +var MMCQ, PriorityQueue; + +PriorityQueue = (function() { + + function PriorityQueue(comparator) { + this.comparator = comparator; + this.contents = []; + this.sorted = false; + } + + PriorityQueue.prototype.sort = function() { + this.contents.sort(this.comparator); + return this.sotred = true; + }; + + PriorityQueue.prototype.push = function(obj) { + this.contents.push(obj); + return this.sorted = false; + }; + + PriorityQueue.prototype.peek = function(index) { + if (index == null) { + index = this.contents.length - 1; + } + if (!this.sorted) { + this.sort(); + } + return this.contents[index]; + }; + + PriorityQueue.prototype.pop = function() { + if (!this.sorted) { + this.sort(); + } + return this.contents.pop(); + }; + + PriorityQueue.prototype.size = function() { + return this.contents.length; + }; + + PriorityQueue.prototype.map = function(func) { + return this.contents.map(func); + }; + + return PriorityQueue; + +})(); + +MMCQ = (function() { + var ColorBox, ColorMap, cboxFromPixels, getColorIndex, getHisto, medianCutApply, + _this = this; + + MMCQ.sigbits = 5; + + MMCQ.rshift = 8 - MMCQ.sigbits; + + function MMCQ() { + this.maxIterations = 1000; + this.fractByPopulations = 0.75; + } + + getColorIndex = function(r, g, b) { + return (r << (2 * MMCQ.sigbits)) + (g << MMCQ.sigbits) + b; + }; + + ColorBox = (function() { + + function ColorBox(r1, r2, g1, g2, b1, b2, histo) { + this.r1 = r1; + this.r2 = r2; + this.g1 = g1; + this.g2 = g2; + this.b1 = b1; + this.b2 = b2; + this.histo = histo; + } + + ColorBox.prototype.volume = function(forced) { + if (!this._volume || forced) { + this._volume = (this.r2 - this.r1 + 1) * (this.g2 - this.g1 + 1) * (this.b2 - this.b1 + 1); + } + return this._volume; + }; + + ColorBox.prototype.count = function(forced) { + var b, g, index, numpix, r, _i, _j, _k, _ref, _ref1, _ref2, _ref3, _ref4, _ref5; + if (!this._count_set || forced) { + numpix = 0; + for (r = _i = _ref = this.r1, _ref1 = this.r2; _i <= _ref1; r = _i += 1) { + for (g = _j = _ref2 = this.g1, _ref3 = this.g2; _j <= _ref3; g = _j += 1) { + for (b = _k = _ref4 = this.b1, _ref5 = this.b2; _k <= _ref5; b = _k += 1) { + index = getColorIndex(r, g, b); + numpix += this.histo[index] || 0; + } + } + } + this._count_set = true; + this._count = numpix; + } + return this._count; + }; + + ColorBox.prototype.copy = function() { + return new ColorBox(this.r1, this.r2, this.g1, this.g2, this.b1, this.b2, this.histo); + }; + + ColorBox.prototype.average = function(forced) { + var b, bsum, g, gsum, hval, index, mult, r, rsum, total, _i, _j, _k, _ref, _ref1, _ref2, _ref3, _ref4, _ref5; + if (!this._average || forced) { + mult = 1 << (8 - MMCQ.sigbits); + total = 0; + rsum = 0; + gsum = 0; + bsum = 0; + for (r = _i = _ref = this.r1, _ref1 = this.r2; _i <= _ref1; r = _i += 1) { + for (g = _j = _ref2 = this.g1, _ref3 = this.g2; _j <= _ref3; g = _j += 1) { + for (b = _k = _ref4 = this.b1, _ref5 = this.b2; _k <= _ref5; b = _k += 1) { + index = getColorIndex(r, g, b); + hval = this.histo[index] || 0; + total += hval; + rsum += hval * (r + 0.5) * mult; + gsum += hval * (g + 0.5) * mult; + bsum += hval * (b + 0.5) * mult; + } + } + } + if (total) { + this._average = [~~(rsum / total), ~~(gsum / total), ~~(bsum / total)]; + } else { + this._average = [~~(mult * (this.r1 + this.r2 + 1) / 2), ~~(mult * (this.g1 + this.g2 + 1) / 2), ~~(mult * (this.b1 + this.b2 + 1) / 2)]; + } + } + return this._average; + }; + + ColorBox.prototype.contains = function(pixel) { + var b, g, r; + r = pixel[0] >> MMCQ.rshift; + g = pixel[1] >> MMCQ.rshift; + b = pixel[2] >> MMCQ.rshift; + return ((this.r1 <= r && r <= this.r2)) && ((this.g1 <= g && g <= this.g2)) && ((this.b1 <= b && b <= this.b2)); + }; + + return ColorBox; + + })(); + + ColorMap = (function() { + + function ColorMap() { + this.cboxes = new PriorityQueue(function(a, b) { + var va, vb; + va = a.count() * a.volume(); + vb = b.count() * b.volume(); + if (va > vb) { + return 1; + } else if (va < vb) { + return -1; + } else { + return 0; + } + }); + } + + ColorMap.prototype.push = function(cbox) { + return this.cboxes.push({ + cbox: cbox, + color: cbox.average() + }); + }; + + ColorMap.prototype.palette = function() { + return this.cboxes.map(function(cbox) { + return cbox.color; + }); + }; + + ColorMap.prototype.size = function() { + return this.cboxes.size(); + }; + + ColorMap.prototype.map = function(color) { + var i, _i, _ref; + for (i = _i = 0, _ref = this.cboxes.size(); _i < _ref; i = _i += 1) { + if (this.cboxes.peek(i).cbox.contains(color)) { + return this.cboxes.peek(i).color; + } + return this.nearest(color); + } + }; + + ColorMap.prototype.cboxes = function() { + return this.cboxes; + }; + + ColorMap.prototype.nearest = function(color) { + var dist, i, minDist, retColor, square, _i, _ref; + square = function(n) { + return n * n; + }; + minDist = 1e9; + for (i = _i = 0, _ref = this.cboxes.size(); _i < _ref; i = _i += 1) { + dist = Math.sqrt(square(color[0] - this.cboxes.peek(i).color[0]) + square(color[1] - this.cboxes.peek(i).color[1]) + square(color[2] - this.cboxes.peek(i).color[2])); + if (dist < minDist) { + minDist = dist; + retColor = this.cboxes.peek(i).color; + } + } + return retColor; + }; + + return ColorMap; + + })(); + + getHisto = function(pixels) { + var b, g, histo, histosize, index, pixel, r, _i, _len; + histosize = 1 << (3 * MMCQ.sigbits); + histo = new Array(histosize); + for (_i = 0, _len = pixels.length; _i < _len; _i++) { + pixel = pixels[_i]; + r = pixel[0] >> MMCQ.rshift; + g = pixel[1] >> MMCQ.rshift; + b = pixel[2] >> MMCQ.rshift; + index = getColorIndex(r, g, b); + histo[index] = (histo[index] || 0) + 1; + } + return histo; + }; + + cboxFromPixels = function(pixels, histo) { + var b, bmax, bmin, g, gmax, gmin, pixel, r, rmax, rmin, _i, _len; + rmin = 1e6; + rmax = 0; + gmin = 1e6; + gmax = 0; + bmin = 1e6; + bmax = 0; + for (_i = 0, _len = pixels.length; _i < _len; _i++) { + pixel = pixels[_i]; + r = pixel[0] >> MMCQ.rshift; + g = pixel[1] >> MMCQ.rshift; + b = pixel[2] >> MMCQ.rshift; + if (r < rmin) { + rmin = r; + } else if (r > rmax) { + rmax = r; + } + if (g < gmin) { + gmin = g; + } else if (g > gmax) { + gmax = g; + } + if (b < bmin) { + bmin = b; + } else if (b > bmax) { + bmax = b; + } + } + return new ColorBox(rmin, rmax, gmin, gmax, bmin, bmax, histo); + }; + + medianCutApply = function(histo, cbox) { + var b, bw, doCut, g, gw, index, lookaheadsum, maxw, partialsum, r, rw, sum, total, _i, _j, _k, _l, _m, _n, _o, _p, _q, _ref, _ref1, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9; + if (!cbox.count()) { + return; + } + if (cbox.count() === 1) { + return [cbox.copy()]; + } + rw = cbox.r2 - cbox.r1 + 1; + gw = cbox.g2 - cbox.g1 + 1; + bw = cbox.b2 - cbox.b1 + 1; + maxw = Math.max(rw, gw, bw); + total = 0; + partialsum = []; + lookaheadsum = []; + if (maxw === rw) { + for (r = _i = _ref = cbox.r1, _ref1 = cbox.r2; _i <= _ref1; r = _i += 1) { + sum = 0; + for (g = _j = _ref2 = cbox.g1, _ref3 = cbox.g2; _j <= _ref3; g = _j += 1) { + for (b = _k = _ref4 = cbox.b1, _ref5 = cbox.b2; _k <= _ref5; b = _k += 1) { + index = getColorIndex(r, g, b); + sum += histo[index] || 0; + } + } + total += sum; + partialsum[r] = total; + } + } else if (maxw === gw) { + for (g = _l = _ref6 = cbox.g1, _ref7 = cbox.g2; _l <= _ref7; g = _l += 1) { + sum = 0; + for (r = _m = _ref8 = cbox.r1, _ref9 = cbox.r2; _m <= _ref9; r = _m += 1) { + for (b = _n = _ref10 = cbox.b1, _ref11 = cbox.b2; _n <= _ref11; b = _n += 1) { + index = getColorIndex(r, g, b); + sum += histo[index] || 0; + } + } + total += sum; + partialsum[g] = total; + } + } else { + for (b = _o = _ref12 = cbox.b1, _ref13 = cbox.b2; _o <= _ref13; b = _o += 1) { + sum = 0; + for (r = _p = _ref14 = cbox.r1, _ref15 = cbox.r2; _p <= _ref15; r = _p += 1) { + for (g = _q = _ref16 = cbox.g1, _ref17 = cbox.g2; _q <= _ref17; g = _q += 1) { + index = getColorIndex(r, g, b); + sum += histo[index] || 0; + } + } + total += sum; + partialsum[b] = total; + } + } + partialsum.forEach(function(d, i) { + return lookaheadsum[i] = total - d; + }); + doCut = function(color) { + var cbox1, cbox2, count2, d2, dim1, dim2, i, left, right, _r, _ref18, _ref19; + dim1 = color + '1'; + dim2 = color + '2'; + for (i = _r = _ref18 = cbox[dim1], _ref19 = cbox[dim2]; _r <= _ref19; i = _r += 1) { + if (partialsum[i] > (total / 2)) { + cbox1 = cbox.copy(); + cbox2 = cbox.copy(); + left = i - cbox[dim1]; + right = cbox[dim2] - i; + if (left <= right) { + d2 = Math.min(cbox[dim2] - 1, ~~(i + right / 2)); + } else { + d2 = Math.max(cbox[dim1], ~~(i - 1 - left / 2)); + } + while (!partialsum[d2]) { + d2++; + } + count2 = lookaheadsum[d2]; + while (!count2 && partialsum[d2 - 1]) { + count2 = lookaheadsum[--d2]; + } + cbox1[dim2] = d2; + cbox2[dim1] = cbox1[dim2] + 1; + // console.log("cbox counts: " + (cbox.count()) + ", " + (cbox1.count()) + ", " + (cbox2.count())); + return [cbox1, cbox2]; + } + } + }; + if (maxw === rw) { + return doCut("r"); + } + if (maxw === gw) { + return doCut("g"); + } + if (maxw === bw) { + return doCut("b"); + } + }; + + MMCQ.prototype.quantize = function(pixels, maxcolors) { + var cbox, cmap, histo, iter, pq, pq2, + _this = this; + if ((!pixels.length) || (maxcolors < 2) || (maxcolors > 256)) { + console.log("invalid arguments"); + return false; + } + histo = getHisto(pixels); + cbox = cboxFromPixels(pixels, histo); + pq = new PriorityQueue(function(a, b) { + var va, vb; + va = a.count(); + vb = b.count(); + if (va > vb) { + return 1; + } else if (va < vb) { + return -1; + } else { + return 0; + } + }); + pq.push(cbox); + iter = function(lh, target) { + var cbox1, cbox2, cboxes, ncolors, niters; + ncolors = 1; + niters = 0; + while (niters < _this.maxIterations) { + cbox = lh.pop(); + if (!cbox.count()) { + lh.push(cbox); + niters++; + continue; + } + cboxes = medianCutApply(histo, cbox); + cbox1 = cboxes[0]; + cbox2 = cboxes[1]; + if (!cbox1) { + console.log("cbox1 not defined; shouldn't happen"); + return; + } + lh.push(cbox1); + if (cbox2) { + lh.push(cbox2); + ncolors++; + } + if (ncolors >= target) { + return; + } + if ((niters++) > _this.maxIterations) { + console.log("infinite loop; perhaps too few pixels"); + return; + } + } + }; + iter(pq, this.fractByPopulations * maxcolors); + pq2 = new PriorityQueue(function(a, b) { + var va, vb; + va = a.count() * a.volume(); + vb = b.count() * b.volume(); + if (va > vb) { + return 1; + } else if (va < vb) { + return -1; + } else { + return 0; + } + }); + while (pq.size()) { + pq2.push(pq.pop()); + } + iter(pq2, maxcolors - pq2.size()); + cmap = new ColorMap; + while (pq2.size()) { + cmap.push(pq2.pop()); + } + return cmap; + }; + + return MMCQ; + +}).call(this); + +// Generated by CoffeeScript 1.6.3 +(function() { + window.ColorExtract = (function() { + function ColorExtract() {} + + ColorExtract.getColorMap = function(canvas, sx, sy, w, h, nc) { + var index, indexBase, pdata, pixels, x, y, _i, _j, _ref, _ref1; + if (nc == null) { + nc = 8; + } + pdata = canvas.getContext("2d").getImageData(sx, sy, w, h).data; + pixels = []; + for (y = _i = sy, _ref = sy + h; _i < _ref; y = _i += 1) { + indexBase = y * w * 4; + for (x = _j = sx, _ref1 = sx + w; _j < _ref1; x = _j += 1) { + index = indexBase + (x * 4); + pixels.push([pdata[index], pdata[index + 1], pdata[index + 2]]); + } + } + return (new MMCQ).quantize(pixels, nc); + }; + + ColorExtract.colorDist = function(a, b) { + var square; + square = function(n) { + return n * n; + }; + return square(a[0] - b[0]) + square(a[1] - b[1]) + square(a[2] - b[2]); + }; + + ColorExtract.extract = function(image, canvas, callback) { + var bgColor, bgColorMap, bgPalette, color, dist, fgColor, fgColor2, fgColorMap, fgPalette, maxDist, rgbToCssString, _i, _j, _len, _len1; + canvas.width = 25; + canvas.height = 25; + canvas.getContext("2d").drawImage(image, 0, 0, canvas.width, canvas.height); + bgColorMap = ColorExtract.getColorMap(canvas, 0, 0, canvas.width, canvas.height, 4); + bgPalette = bgColorMap.cboxes.map(function(cbox) { + return { + count: cbox.cbox.count(), + rgb: cbox.color + }; + }); + bgPalette.sort(function(a, b) { + return b.count - a.count; + }); + bgColor = bgPalette[0].rgb; + fgColorMap = ColorExtract.getColorMap(canvas, 0, 0, image.width, image.height, 10); + fgPalette = fgColorMap.cboxes.map(function(cbox) { + return { + count: cbox.cbox.count(), + rgb: cbox.color + }; + }); + fgPalette.sort(function(a, b) { + return b.count - a.count; + }); + maxDist = 0; + for (_i = 0, _len = fgPalette.length; _i < _len; _i++) { + color = fgPalette[_i]; + dist = ColorExtract.colorDist(bgColor, color.rgb); + if (dist > maxDist) { + maxDist = dist; + fgColor = color.rgb; + } + } + maxDist = 0; + for (_j = 0, _len1 = fgPalette.length; _j < _len1; _j++) { + color = fgPalette[_j]; + dist = ColorExtract.colorDist(bgColor, color.rgb); + if (dist > maxDist && color.rgb !== fgColor) { + maxDist = dist; + fgColor2 = color.rgb; + } + } + rgbToCssString = function(color) { + return "rgb(" + color[0] + ", " + color[1] + ", " + color[2] + ")"; + }; + return callback({ + bgColor: rgbToCssString(bgColor), + fgColor: rgbToCssString(fgColor), + fgColor2: rgbToCssString(fgColor2) + }); + }; + + return ColorExtract; + + })(); + +}).call(this); diff --git a/javascripts/main.min.js b/javascripts/main.min.js new file mode 100644 index 0000000..8087540 --- /dev/null +++ b/javascripts/main.min.js @@ -0,0 +1 @@ +var MMCQ,PriorityQueue;!function(e,t,s,o){var n="textareaAutoSize",a="plugin_"+n;function i(t,s){this.element=t,this.$element=e(t),this.init()}i.prototype={init:function(){this.$element.outerHeight();var s=parseInt(this.$element.css("paddingBottom"))+parseInt(this.$element.css("paddingTop"))||0;this.element.value.replace(/\s/g,"").length>0&&this.$element.height(this.element.scrollHeight-s),this.$element.on("input keyup",function(o){var n=e(t),a=n.scrollTop();e(this).height(0).height(this.scrollHeight-s),n.scrollTop(a)})}},e.fn[n]=function(t){return this.each(function(){e.data(this,a)||e.data(this,a,new i(this,t))}),this}}(jQuery,window,document),function(e){var t=function(){return e("html").hasClass("editmode")},s=function(e,t,s){var o;return function(){var n=this,a=arguments,i=s&&!o;clearTimeout(o),o=setTimeout(function(){o=null,s||e.apply(n,a)},t),i&&e.apply(n,a)}};e(".mobile-menu-toggler").click(function(t){t.preventDefault(),e("html").toggleClass("mobilemenu-open"),e("html").removeClass("menu-language-popover-open"),e("body").removeClass("mobilesearch-open"),e("#mobile-menu").removeClass("reset-touch").addClass("reset-touch")}),e(".tags-toggle").click(function(){e(this).find(".ico-arrow").toggleClass("active"),e(".tags-bottom").toggleClass("visible")}),e(".js-toggle-sub-menu").click(function(){e("#mobile-menu").removeClass("reset-touch").addClass("reset-touch"),e(this).toggleClass("active"),e(this).parent("li").toggleClass("current-parent")}),e(".mobile-menu-close").on("click",function(){event.preventDefault(),e("html").hasClass("menu-language-popover-open")?e("html").removeClass("menu-language-popover-open"):e("html").removeClass("mobilemenu-open")}),e(".js-lang-menu-btn").on("click",function(){e("html").removeClass("search-open"),e(".js-search").removeClass("active"),e("html").hasClass("menu-language-popover-open")?e("html").removeClass("menu-language-popover-open"):(r(e(this)),e("html").addClass("menu-language-popover-open"))});var o,n,a,i,r=function(t){var s=e("html").hasClass("language-flags-disabled")?t.find(".js-lang-title-inner"):t,o=e("html").hasClass("language-flags-disabled")?5:9;e(".js-popup-menu-popover").css({top:s.offset().top+s.outerHeight()-e(".site-container").offset().top,right:e(window).width()-s.offset().left-s.outerWidth()-o})},l=function(){var t=e("html"),s=e(".js-menu-language-settings");e(window).width()<=1024&&0===s.closest(".js-menu-main-mobile").length?s.appendTo(".js-menu-main-mobile"):e(window).width()>1024&&0===s.closest(".js-menu-main-desktop").length&&(t.hasClass("language-menu-mode-list")?(s.appendTo(".js-menu-language-list-setting-parent"),r(e(".js-lang-menu-btn"))):(s.appendTo(".js-menu-language-popover-setting-parent"),r(e(".js-lang-menu-btn"))))},c=function(t,s){s>.6?e(t).find(".js-background-type").addClass("light-background").removeClass("dark-background"):e(t).find(".js-background-type").addClass("dark-background").removeClass("light-background")},g=function(t,s){return function(t,s){if(t&&s){"string"==typeof t&&(t=t.replace(/rgba?\(/,"").replace(/\)/,"").split(","),e.each(t,function(e,s){t[e]=+s})),"string"==typeof s&&(s=s.replace(/rgba?\(/,"").replace(/\)/,"").split(","),e.each(s,function(e,t){s[e]=+t})),"object"==typeof t&&t.hasOwnProperty("length")&&3==t.length&&t.push(1),"object"==typeof s&&s.hasOwnProperty("length")&&3==s.length&&s.push(1);var o=[0,0,0,0];return o[3]=1-(1-s[3])*(1-t[3]),0===o[3]&&(o[3]=1e-6),o[0]=Math.min(s[0]*s[3]/o[3]+t[0]*t[3]*(1-s[3])/o[3],255),o[1]=Math.min(s[1]*s[3]/o[3]+t[1]*t[3]*(1-s[3])/o[3],255),o[2]=Math.min(s[2]*s[3]/o[3]+t[2]*t[3]*(1-s[3])/o[3],255),e.map(o,function(e){return Math.floor(e)})}}(t||[255,255,255,1],s||[255,255,255,1])},d=function(e,t){var s=g(e,t);return Math.round((.2126*+s[0]+.7152*+s[1]+.0722*+s[2])/2.55)/100},u=function(){var t=e(".main-content");if(e("html").hasClass("comments-open")){var s=e(document).outerHeight(),o=e(".js-site-header").outerHeight(),n=e(".article-comments"),a=n.outerHeight(),i=e(".site-footer").outerHeight();n.css("min-height",s-o),t.css("min-height",a-i),e("html, body").animate({scrollTop:e(".js-comments").offset().top},300)}else t.removeAttr("style")},h=function(){e(".article-comments").removeAttr("style");e(document).height(),e(".site-container").height(),e(".article-comments").height();var t=parseInt(e(".article-comments").css("padding-top")),s=parseInt(e(".article-comments").css("padding-bottom")),o=e(".page-content").height(),n=e(".site-header").height(),a=o+n+e(".site-footer").height()-n-t-s;e(window).width()>480&&e(".article-comments").css("min-height",a)},m=function(t){if(e(".js-type-btn").removeClass("is-active"),t.addClass("is-active"),"photo-article"==t.data("article-type")){e(".js-article-title").prependTo(".js-article-header-title-wrap"),e(".js-text-article-component").addClass("is-hidden"),e(".js-photo-article-component").removeClass("is-hidden"),e(".js-site-header").addClass("photo-article"),e(".js-site-header .js-background-settings").removeClass("is-hidden");var s=e(".js-site-header .js-background-type").data("article-bg-type");e(".js-site-header .js-background-type").removeClass("dark-background light-background").addClass(s),Edicy.articles.currentArticle.setData("photo_article_state",!0)}else{e(".js-article-title").prependTo(".js-article-body-title-wrap"),e(".js-photo-article-component").addClass("is-hidden"),e(".js-text-article-component").removeClass("is-hidden"),e(".js-site-header").removeClass("photo-article"),e(".js-site-header .js-background-settings").addClass("is-hidden");s=e(".js-site-header .js-background-type").data("blog-bg-type");e(".js-site-header .js-background-type").removeClass("dark-background light-background").addClass(s),Edicy.articles.currentArticle.setData("photo_article_state",!1)}},p=function(){e(window).width()<=640?e(".js-voog-search-modal").css("max-height",e(window).height()-56):e(".js-voog-search-modal").css("max-height","auto")};window.site=e.extend(window.site||{},{bgPickerPreview:function(t,s,o,n){var a=e(t).find(".js-background-image").css("background-image"),i=s.imageSizes?function(e,t){for(var s,o=0,n=e.length;o")),h=e(""),m=s.image&&""!==s.image?s.image:null;m?function(e,t){for(var s=e.length;s--;)if(t.indexOf(e[s].url.trim())>-1)return!0;return!1}(l,a)?(o.imageColor=o.imageColor?o.imageColor:n,o.combinedLightness=d(o.imageColor,g),c(t,o.combinedLightness)):(u.attr("src",m.replace(/.*\/(photos|voogstock)/g,"/photos")),u.on("load",function(){ColorExtract.extract(u[0],h[0],function(e){o.imageColor=e.bgColor?e.bgColor:"rgba(255,255,255,1)",o.combinedLightness=d(o.imageColor,g),c(t,o.combinedLightness)})})):(o.imageColor="rgba(255,255,255,1)",o.combinedLightness=d(o.imageColor,g),c(t,o.combinedLightness)),"articlePage"===pageType&&t.hasClass("site-header")?e("#preview-style").html(".photo-article.site-header .js-background-image { background-image: "+r+" } .photo-article.site-header .js-background-color { background-color: "+g+" }"):(e(t).find(".js-background-image").css({"background-image":r}),e(t).find(".js-background-color").css({"background-color":g}))},bgPickerCommit:function(t,s,o,n){var a,i=e.extend(!0,{},s);i.image=s.image||"",i.imageSizes=null==(a=s.imageSizes)||"string"==typeof a&&a.match(/^[\\'"]+$/)?"":a,i.color=s.color||"",i.combinedLightness=o.combinedLightness,"articlePage"===n?"footer_bg"==t?siteData.set(t,i):Edicy.articles.currentArticle.setData(t,i):"contentPage"===n&&"footer_bg"===t||"body_bg"===t?siteData.set(t,i):pageData.set(t,i)},bgPickerColorScheme:function(t){void 0!==t&&(t>.6?e(".header-wrapper").addClass("light").removeClass("dark"):e(".header-wrapper").addClass("dark").removeClass("light"))},initWindowResize:function(){e(window).resize(s(function(){h(),p(),l(),e(".js-menu-language-settings-popover").hide()},100)),e(window).resize(s(function(){e("html").removeClass("menu-language-popover-open"),e(".js-menu-language-settings-popover").hide(),e(".js-menu-language-settings-toggle").removeClass("edy-cbtn-active")},25))},initBlogPage:function(){},initArticlePage:function(){h(),e("html").hasClass("js-calculate-comments-height")&&u()},initCommonPage:function(){},initFrontPage:function(){},bindLanguageMenuSettings:function(t){"type"in t||(t.type="popover"),"item_state"in t||(t.item_state="flags_and_names");new Edicy.SettingsEditor(e(".js-menu-language-settings-toggle").get(0),{menuItems:[{titleI18n:"format_desktop_only",type:"radio",key:"type",list:[{titleI18n:"dropdown_menu",value:"popover"},{titleI18n:"expanded_menu",value:"list"}]},{titleI18n:"show",type:"radio",key:"item_state",list:[{titleI18n:"flags_only",value:"flags_only"},{titleI18n:"names_only",value:"names_only"},{titleI18n:"flags_and_names",value:"flags_and_names"}]}],buttonTitleI18n:"settings",values:t,containerClass:["js-menu-language-settings-popover","js-prevent-sideclick"],preview:function(t){var s=e("html");e(".js-menu-language-settings"),"list"===t.type?(s.removeClass("language-menu-mode-popover"),s.removeClass("menu-language-popover-open"),s.addClass("language-menu-mode-list")):(s.removeClass("language-menu-mode-list"),s.addClass("language-menu-mode-popover"),s.addClass("menu-language-popover-open")),"flags_only"===t.item_state?(s.removeClass("language-flags-disabled"),s.removeClass("language-names-enabled"),s.addClass("language-flags-enabled"),s.addClass("language-names-disabled")):"names_only"===t.item_state?(s.removeClass("language-flags-enabled"),s.removeClass("language-names-disabled"),s.addClass("language-flags-disabled"),s.addClass("language-names-enabled")):"flags_and_names"===t.item_state&&(s.removeClass("language-flags-disabled"),s.removeClass("language-names-disabled"),s.addClass("language-flags-enabled"),s.addClass("language-names-enabled")),l(),this.setPosition()},commit:function(e){siteData.set("settings_language_menu",e)}});l()},initItemsPage:function(){t()||(e(document).ready(function(){setTimeout(function(){e(".js-content-item-box").addClass("not-loaded")},3e3)}),e(".js-lazyload").lazyload({threshold:500,effect:"fadeIn",placeholder:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",load:function(){var t=e(this).closest(".js-content-item-box");t.removeClass("not-loaded with-error").addClass("is-loaded"),setTimeout(function(){t.removeClass("not-loaded with-error"),t.find(".js-loader").remove()},3e3)}}))},bindContentItemImgDropAreas:function(t){e(".js-content-item-img-drop-area").each(function(s,o){var n=e(o),a=n.closest(".js-content-item-box"),i=a.data("item-id"),r=a.data("item-type");new Edicy.CustomData({type:r,id:i}),new Edicy.ImgDropArea(n,{positionable:!1,target_width:1280,placeholder:'
    '+t+"
    ",removeBtn:'
    ',change:function(t){var s,o,l,c,g,d,u,h,m,p,f,v,b;n.removeClass("is-cropped").addClass("not-cropped").css("opacity",.1),t?(s=t.original_id,a.removeClass("without-image is-loaded with-error").addClass("with-image not-loaded"),o=a,l=t.width,c=t.height,g=o.find(".js-content-item-img-drop-area"),d=o.find(".js-toggle-crop-state"),l>c?g.removeClass("image-landscape image-square image-portrait").addClass("image-landscape"):l===c?g.removeClass("image-landscape image-square image-portrait").addClass("image-square"):g.removeClass("image-landscape image-square image-portrait").addClass("image-portrait"),g.hasClass("image-square")?d.removeClass("is-visible").addClass("is-hidden"):d.removeClass("is-hidden").addClass("is-visible")):(s=null,a.removeClass("with-image is-loaded with-error").addClass("without-image not-loaded"),a.find(".edy-img-drop-area-placeholder").css("opacity",0)),u=a,h=n,m=i,p=s,v="article"===(f=r)?"articles":"pages",b=new Edicy.CustomData({type:f,id:m}),e.ajax({type:"PATCH",contentType:"application/json",url:"/admin/api/"+v+"/"+m,data:JSON.stringify({image_id:p}),dataType:"json",success:function(e){b.set("image_crop_state","not-cropped"),u.removeClass("not-loaded with-error").addClass("is-loaded"),u.find(".edy-img-drop-area-placeholder").css("opacity",1),h.css("opacity",1)},timeout:3e4,error:function(e){u.removeClass("not-loaded is-loaded with-error").addClass("with-error")}})}})})},bindContentItemImageCropToggle:function(){e(".js-toggle-crop-state").on("click",function(){var t,s=e(this).closest(".js-content-item-box"),o=s.find(".js-content-item-img-drop-area"),n=s.data("item-id"),a=s.data("item-type"),i=new Edicy.CustomData({type:a,id:n});o.hasClass("is-cropped")?(o.removeClass("is-cropped").addClass("not-cropped"),t="not-cropped"):(o.removeClass("not-cropped").addClass("is-cropped"),t="is-cropped"),i.set("image_crop_state",t)})},bindRootItemSettings:function(t){"show_product_related_pages_in_main_menu"in t||(t.show_product_related_pages_in_main_menu=!1),e(".js-root-item-settings-toggle").each(function(s,o){new Edicy.SettingsEditor(o,{menuItems:[{titleI18n:"show_in_main_menu",type:"checkbox",key:"show_product_related_pages_in_main_menu",states:{on:!0,off:!1}}],buttonTitleI18n:"settings",values:t,containerClass:["js-root-item-settings-popover","js-prevent-sideclick"],preview:function(t){1==!t.show_product_related_pages_in_main_menu?e(".js-menu-item-products").addClass("is-hidden"):e(".js-menu-item-products").removeClass("is-hidden")},commit:function(e){siteData.set("settings_root_item",e)}})})},bindSiteSearch:function(t,s,o){t&&new VoogSearch(t,{per_page:10,lang:s,resultsContainer:e(".js-voog-search-modal").get(0),sideclick:!0,mobileModeWidth:640,updateOnKeypress:!0,noResults:o})}}),window.site=e.extend(window.site||{},{}),e(".site-container").on("mousedown",function(t){e(t.target).closest(".js-prevent-sideclick").length||(e(".js-btn").hasClass("open")&&e(".js-btn").removeClass("open"),e(".js-popover").hasClass("expanded")&&e(".js-popover").removeClass("expanded"),e(".js-search").hasClass("active")&&(e(".js-search").removeClass("active"),e(".search-btn").removeClass("open")),e("html").hasClass("mobilemenu-open")&&e(".mobile-menu-toggler").trigger("click"),e("html").hasClass("menu-language-popover-open")&&e("html").removeClass("menu-language-popover-open"),e("html").hasClass("comments-open")&&(e("html").removeClass("comments-open"),e(".js-comments-toggle-btn, .js-comments").removeClass("open")),e("html").hasClass("search-open")&&e("html").removeClass("search-open"),u())}),e(".js-menu-btn").click(function(){e(this).toggleClass("open"),e(".js-menu-main").toggleClass("expanded")}),e(".js-menu-lang-btn").click(function(){e(".js-menu-lang-btn").toggleClass("open"),e(".js-menu-lang").toggleClass("expanded")}),e(".js-tags-btn").click(function(){e(this).toggleClass("open"),e(".js-menu-tags").toggleClass("expanded")}),e(".js-search-toggle-btn").click(function(){e("html").removeClass("mobilemenu-open"),e("html").removeClass("menu-language-popover-open"),e(".js-search").toggleClass("active"),e(".js-search").hasClass("active")&&e(".js-search-input").focus(),e("html").toggleClass("search-open")}),e(".js-search-input").on("input",function(){var t=e(this).parent().next();e(this).val().length>1?t.addClass("active"):t.removeClass("active"),p()}),e(".js-search-reset-btn").click(function(){e("html").removeClass("search-open"),e(".js-search").removeClass("active")}),e(".js-comments-toggle-btn").click(function(){e(this).toggleClass("open"),e(".js-comments").toggleClass("open"),e("html").toggleClass("comments-open"),e(".js-comments-input").val("").focus(),e(window).width()>640&&u()}),e(".submenu-load-more-lvl1").click(function(){e(this).addClass("open"),e(this).next().addClass("open"),e(this).next().next().addClass("open")}),e(".submenu-close-lvl1").click(function(){e(this).removeClass("open"),e(this).prev().removeClass("open"),e(this).next().removeClass("open")}),e(".submenu-load-more-lvl2").click(function(){e(this).addClass("open"),e(this).next().addClass("open"),e(this).next().next().addClass("open")}),e(".submenu-close-lvl2").click(function(){e(this).removeClass("open"),e(this).prev().removeClass("open"),e(this).next().removeClass("open")}),e(".js-type-btn").click(function(){m(e(this))}),e(".publicmode .js-slide-to-article").click(function(){e("html, body").animate({scrollTop:e(".page-content").offset().top},300)}),e("body:not(.editmode) table").each(function(){e(this).wrap('
    ')}),e(document).ready(function(){e(".comment-form").hasClass("form_with_errors")?e("html, body").scrollTop(e(".comment-form").offset().top):e("form").find(".form_error, .form_notice").length>0&&e("html, body").scrollTop(e(".form_error, .form_notice").closest("form").offset().top)}),document.addEventListener("edicy:customstyles:change",function(t){Object.keys(t.detail.changes).indexOf("--header-background-color")>-1&&(void 0===t.detail.changes["--header-background-color"].value?(e("body").removeClass("header-top-with-bg"),siteData.remove("has_header_bg_color")):(e("body").addClass("header-top-with-bg"),siteData.set("has_header_bg_color",!0)))}),!Modernizr.flexbox&&t()&&(o=e(".js-header-top-wrap").width(),n=e(".js-header-right"),a=n.width(),i=parseInt(n.css("margin-left"))+1,e(".js-header-left").css("min-width",o-a-i))}(jQuery),PriorityQueue=function(){function e(e){this.comparator=e,this.contents=[],this.sorted=!1}return e.prototype.sort=function(){return this.contents.sort(this.comparator),this.sotred=!0},e.prototype.push=function(e){return this.contents.push(e),this.sorted=!1},e.prototype.peek=function(e){return null==e&&(e=this.contents.length-1),this.sorted||this.sort(),this.contents[e]},e.prototype.pop=function(){return this.sorted||this.sort(),this.contents.pop()},e.prototype.size=function(){return this.contents.length},e.prototype.map=function(e){return this.contents.map(e)},e}(),MMCQ=function(){var e,t,s,o,n,a;function i(){this.maxIterations=1e3,this.fractByPopulations=.75}return i.sigbits=5,i.rshift=8-i.sigbits,o=function(e,t,s){return(e<<2*i.sigbits)+(t<>i.rshift,s=e[1]>>i.rshift,t=e[2]>>i.rshift,this.r1<=o&&o<=this.r2&&this.g1<=s&&s<=this.g2&&this.b1<=t&&t<=this.b2},e}(),t=function(){function e(){this.cboxes=new PriorityQueue(function(e,t){var s,o;return(s=e.count()*e.volume())>(o=t.count()*t.volume())?1:s>i.rshift,s=l[1]>>i.rshift,t=l[2]>>i.rshift,n[r=o(c,s,t)]=(n[r]||0)+1;return n},s=function(t,s){var o,n,a,r,l,c,g,d,u,h,m,p;for(h=1e6,u=0,c=1e6,l=0,a=1e6,n=0,m=0,p=t.length;m>i.rshift,r=g[1]>>i.rshift,o=g[2]>>i.rshift,du&&(u=d),rl&&(l=r),on&&(n=o);return new e(h,u,c,l,a,n,s)},a=function(e,t){var s,n,a,i,r,l,c,g,d,u,h,m,p,f,v,b,C,y,w,j,_,k,x,A,I,z,D,M,T,P;if(t.count()){if(1===t.count())return[t.copy()];if(u=t.r2-t.r1+1,r=t.g2-t.g1+1,n=t.b2-t.b1+1,c=Math.max(u,r,n),m=0,g=[],l=[],c===u)for(d=p=t.r1,k=t.r2;p<=k;d=p+=1){for(h=0,i=f=t.g1,D=t.g2;f<=D;i=f+=1)for(s=v=t.b1,M=t.b2;v<=M;s=v+=1)h+=e[o(d,i,s)]||0;m+=h,g[d]=m}else if(c===r)for(i=b=t.g1,T=t.g2;b<=T;i=b+=1){for(h=0,d=C=t.r1,P=t.r2;C<=P;d=C+=1)for(s=y=t.b1,x=t.b2;y<=x;s=y+=1)h+=e[o(d,i,s)]||0;m+=h,g[i]=m}else for(s=w=t.b1,A=t.b2;w<=A;s=w+=1){for(h=0,d=j=t.r1,I=t.r2;j<=I;d=j+=1)for(i=_=t.g1,z=t.g2;_<=z;i=_+=1)h+=e[o(d,i,s)]||0;m+=h,g[s]=m}return g.forEach(function(e,t){return l[t]=m-e}),a=function(e){var s,o,n,a,i,r,c,d,u,h,p;for(r=e+"2",c=h=t[i=e+"1"],p=t[r];h<=p;c=h+=1)if(g[c]>m/2){for(s=t.copy(),o=t.copy(),a=(d=c-t[i])<=(u=t[r]-c)?Math.min(t[r]-1,~~(c+u/2)):Math.max(t[i],~~(c-1-d/2));!g[a];)a++;for(n=l[a];!n&&g[a-1];)n=l[--a];return s[r]=a,o[i]=s[r]+1,[s,o]}},c===u?a("r"):c===r?a("g"):c===n?a("b"):void 0}},i.prototype.quantize=function(e,o){var i,r,l,c,g,d,u=this;if(!e.length||o<2||o>256)return console.log("invalid arguments"),!1;for(l=n(e),i=s(e,l),(g=new PriorityQueue(function(e,t){var s,o;return(s=e.count())>(o=t.count())?1:s=t)return;if(c++>u.maxIterations)return void console.log("infinite loop; perhaps too few pixels")}else e.push(i),c++})(g,this.fractByPopulations*o),d=new PriorityQueue(function(e,t){var s,o;return(s=e.count()*e.volume())>(o=t.count()*t.volume())?1:sd&&(d=r,l=i.rgb);for(d=0,m=0,f=g.length;md&&i.rgb!==l&&(d=r,c=i.rgb);return o({bgColor:(u=function(e){return"rgb("+e[0]+", "+e[1]+", "+e[2]+")"})(n),fgColor:u(l),fgColor2:u(c)})},e}()}.call(this); \ No newline at end of file diff --git a/javascripts/modernizr-custom.min.js b/javascripts/modernizr-custom.min.js new file mode 100644 index 0000000..3508054 --- /dev/null +++ b/javascripts/modernizr-custom.min.js @@ -0,0 +1,3 @@ +/*! modernizr 3.5.0 (Custom Build) | MIT * + * https://modernizr.com/download/?-flexbox-svg-setclasses-shiv !*/ +!function(e,t,n){function r(e,t){return typeof e===t}function o(){var e,t,n,o,a,i,s;for(var l in C)if(C.hasOwnProperty(l)){if(e=[],t=C[l],t.name&&(e.push(t.name.toLowerCase()),t.options&&t.options.aliases&&t.options.aliases.length))for(n=0;nf;f++)if(h=e[f],g=j.style[h],i(h,"-")&&(h=p(h)),j.style[h]!==n){if(a||r(o,"undefined"))return l(),"pfx"==t?h:!0;try{j.style[h]=o}catch(y){}if(j.style[h]!=g)return l(),"pfx"==t?h:!0}return l(),!1}function h(e,t){return function(){return e.apply(t,arguments)}}function g(e,t,n){var o;for(var a in e)if(e[a]in t)return n===!1?e[a]:(o=t[e[a]],r(o,"function")?h(o,n||t):o);return!1}function v(e,t,n,o,a){var i=e.charAt(0).toUpperCase()+e.slice(1),s=(e+" "+_.join(i+" ")+i).split(" ");return r(t,"string")||r(t,"undefined")?m(s,t,o,a):(s=(e+" "+z.join(i+" ")+i).split(" "),g(s,t,n))}function y(e,t,r){return v(e,n,n,t,r)}var C=[],S={_version:"3.5.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,t){var n=this;setTimeout(function(){t(n[e])},0)},addTest:function(e,t,n){C.push({name:e,fn:t,options:n})},addAsyncTest:function(e){C.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=S,Modernizr=new Modernizr;var E=[],b=t.documentElement,w="svg"===b.nodeName.toLowerCase();w||!function(e,t){function n(e,t){var n=e.createElement("p"),r=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x",r.insertBefore(n.lastChild,r.firstChild)}function r(){var e=C.elements;return"string"==typeof e?e.split(" "):e}function o(e,t){var n=C.elements;"string"!=typeof n&&(n=n.join(" ")),"string"!=typeof e&&(e=e.join(" ")),C.elements=n+" "+e,c(t)}function a(e){var t=y[e[g]];return t||(t={},v++,e[g]=v,y[v]=t),t}function i(e,n,r){if(n||(n=t),f)return n.createElement(e);r||(r=a(n));var o;return o=r.cache[e]?r.cache[e].cloneNode():h.test(e)?(r.cache[e]=r.createElem(e)).cloneNode():r.createElem(e),!o.canHaveChildren||m.test(e)||o.tagUrn?o:r.frag.appendChild(o)}function s(e,n){if(e||(e=t),f)return e.createDocumentFragment();n=n||a(e);for(var o=n.frag.cloneNode(),i=0,s=r(),l=s.length;l>i;i++)o.createElement(s[i]);return o}function l(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return C.shivMethods?i(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+r().join().replace(/[\w\-:]+/g,function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'})+");return n}")(C,t.frag)}function c(e){e||(e=t);var r=a(e);return!C.shivCSS||u||r.hasCSS||(r.hasCSS=!!n(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),f||l(e,r),e}var u,f,d="3.7.3",p=e.html5||{},m=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,h=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,g="_html5shiv",v=0,y={};!function(){try{var e=t.createElement("a");e.innerHTML="",u="hidden"in e,f=1==e.childNodes.length||function(){t.createElement("a");var e=t.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(n){u=!0,f=!0}}();var C={elements:p.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:d,shivCSS:p.shivCSS!==!1,supportsUnknownElements:f,shivMethods:p.shivMethods!==!1,type:"default",shivDocument:c,createElement:i,createDocumentFragment:s,addElements:o};e.html5=C,c(t),"object"==typeof module&&module.exports&&(module.exports=C)}("undefined"!=typeof e?e:this,t);var x="Moz O ms Webkit",_=S._config.usePrefixes?x.split(" "):[];S._cssomPrefixes=_;var N={elem:s("modernizr")};Modernizr._q.push(function(){delete N.elem});var j={style:N.elem.style};Modernizr._q.unshift(function(){delete j.style});var z=S._config.usePrefixes?x.toLowerCase().split(" "):[];S._domPrefixes=z,S.testAllProps=v,S.testAllProps=y,Modernizr.addTest("flexbox",y("flexBasis","1px",!0)),Modernizr.addTest("svg",!!t.createElementNS&&!!t.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect),o(),a(E),delete S.addTest,delete S.addAsyncTest;for(var T=0;T +{% assign blog_page = true %} +{% include "template-variables" %} +{% include "blog-article-variables" %} +{% include "blog-settings-variables" %} + + + {% include "html-head" %} + {% include "template-styles" %} + + + +
    + {% include "site-header" %} + +
    +
    +
    +
    + + {% if editmode %}{% endif %} + +
    + +
    + +
    +
    +
    +
    {% content %}
    + + {% include "blog-news-tags" %} + +
    + {% addbutton %} + {% if editmode %} + {% include "blog-settings-editor" %} + {% endif %} + {% for article in articles limit: 5 %} + {% include "blog-article-template" %} + {% endfor %} +
    + + {% assign articles_size = articles | size %} + {% if articles_size >= 6 %} +
    +
    +

    {{ "older_news" | lc }}

    +
    + {% for article in articles offset: 5 %} +
    +
    + {% assign article_year = article.created_at | format_date: "%Y" | to_num %} + + {% if article_year == current_year %} + {% assign article_date_format = "long_without_year" %} + {% else %} + {% assign article_date_format = "long" %} + {% endif %} + + +

    {{ article.title }}

    +
    +
    + {% endfor %} +
    + {% endif %} +
    +
    +
    + +
    +
    +
    +
    + + {% include "site-footer" %} +
    + + + {% include "menu-mobile" %} + {% include "site-signout" %} + {% include "site-javascripts" %} + {% include "template-tools" with "blog_page" %} + + + diff --git a/layouts/blog_article.tpl b/layouts/blog_article.tpl new file mode 100644 index 0000000..c2f03c2 --- /dev/null +++ b/layouts/blog_article.tpl @@ -0,0 +1,84 @@ + +{% assign blog_article_page = true %} +{% include "template-variables" %} +{% include "blog-article-variables" %} +{% include "blog-settings-variables" %} + + + {% include "html-head" %} + {% include "template-styles" %} + {% if editmode %} + + {% endif %} + + + +
    + {% include "site-header" %} + +
    +
    +
    +
    + +
    + +
    + +
    +
    +
    + + + +
    + {% if article.comments_count > 0 %} + {{ "comments_for_count" | lc }} + ({{ article.comments_count }}) + {% else %} + {{ "comment" | lc }} + {% endif %} +
    + + {% if editmode %} + {% include "article-settings-editor" %} + {% endif %} + +
    + {% unless photo_article %} +

    {% editable article.title %}

    + {% endunless %} + {% include "blog-article-tags" %} +
    + +
    + {% include "blog-article-template" with "blog_article_page" %} +
    + + {% include "blog-article-comments" %} +
    +
    +
    + +
    +
    +
    +
    + + {% include "site-footer" with "blog_article_page" %} +
    + + + {% include "menu-mobile" %} + {% include "site-signout" %} + {% include "site-javascripts" %} + {% include "template-tools" with "blog_article_page" %} + + + diff --git a/layouts/common_page.tpl b/layouts/common_page.tpl new file mode 100644 index 0000000..391c60e --- /dev/null +++ b/layouts/common_page.tpl @@ -0,0 +1,80 @@ + +{% assign common_page = true %} +{% include "template-variables" %} + + + {% include "html-head" sidebar: true %} + {% include "template-styles" %} + + + +
    + {% include "site-header" %} + {% include "common-page-variables" %} + +
    +
    + {% if editmode %}{% endif %} +
    + + + {% if sidebar_active %} + {% include "site-sidebar" %} + {% endif %} + +
    +
    +
    +
    + {% if editmode or main_has_content %} +
    + {% include "menu-breadcrumbs" %} + + {% comment %}TODO: Remove duplicate content-arera class.{% endcomment %} +
    +
    {% content %}
    +
    +
    + {% endif %} +
    +
    + +
    +
    + {% if editmode or left_has_content %} +
    + {% comment %}TODO: Remove duplicate content-arera class.{% endcomment %} +
    +
    {% content name="left" %}
    +
    +
    + {% endif %} + + {% if editmode or right_has_content %} +
    + {% comment %}TODO: Remove duplicate content-arera class.{% endcomment %} +
    +
    {% content name="right" %}
    +
    +
    + {% endif %} +
    +
    +
    +
    +
    +
    +
    + {% include "site-footer" %} +
    + + {% include "menu-mobile" %} + {% include "site-signout" %} + {% include "site-javascripts" %} + {% include "template-tools" with "common_page" %} + + + diff --git a/layouts/front_page.tpl b/layouts/front_page.tpl new file mode 100644 index 0000000..8d9af34 --- /dev/null +++ b/layouts/front_page.tpl @@ -0,0 +1,90 @@ + +{% assign front_page = true %} +{% include "template-variables" %} + + + {% include "html-head" %} + {% include "template-styles" %} + {% include "front-page-variables" %} + + + + +
    + {% include "site-header" %} + +
    +
    +
    +
    +
    +
    + + {% if editmode %} + + {% endif %} + +
    + {% if editmode or main_content_has_content %} +
    +
    +
    {% content %}
    +
    +
    + {% endif %} + + {% if editmode or feature_image_1 or feature_1_has_content or feature_image_2 or feature_2_has_content or feature_image_3 or feature_3_has_content %} +
    +
    + {% if editmode or feature_image_1 or feature_1_has_content %} +
    +
    {% if editmode %}
    {% elsif feature_image_1 != "" %}
    {% endif %}
    +
    {% content name="feature_1" %}
    +
    + {% endif %} + + {% if editmode or feature_image_2 or feature_2_has_content %} +
    +
    {% if editmode %}
    {% elsif feature_image_2 != "" %}
    {% endif %}
    +
    {% content name="feature_2" %}
    +
    + {% endif %} + + {% if editmode or feature_image_3 or feature_3_has_content %} +
    +
    {% if editmode %}
    {% elsif feature_image_3 != "" %}
    {% endif %}
    +
    {% content name="feature_3" %}
    +
    + {% endif %} +
    +
    + {% endif %} +
    +
    + {% if editmode or bottom_has_content or content_bg_2_image != "" or content_bg_2_color != "" %} +
    +
    +
    + + {% if editmode %}{% endif %} +
    +
    {% content name="bottom" %}
    +
    +
    + {% endif %} +
    +
    +
    + {% include "site-footer" %} +
    + + {% include "menu-mobile" %} + {% include "site-signout" %} + {% include "site-javascripts" %} + {% include "template-tools" with "front_page" %} + + + diff --git a/layouts/product.tpl b/layouts/product.tpl new file mode 100644 index 0000000..5728152 --- /dev/null +++ b/layouts/product.tpl @@ -0,0 +1,118 @@ + +{% include "template-variables" %} + +{% unless page.image %} + {% assign page_image_state = "without-image" %} +{% else %} + {% assign page_image_state = "with-image" %} + + {% if page.image.width > page.image.height %} + {% assign page_image_orientation = "image-landscape" %} + {% elsif page.image.width == page.image.height %} + {% assign page_image_orientation = "image-square" %} + {% else %} + {% assign page_image_orientation = "image-portrait" %} + {% endif %} + + {% if page.data.image_crop_state %} + {% assign page_image_crop_state = page.data.image_crop_state %} + {% else %} + {% assign page_image_crop_state = "not-cropped" %} + {% endif %} +{% endunless %} + + + + {% assign item_list_page = true %} + {% include "template-variables" %} + {% include "html-head" sidebar: true %} + {% include "template-styles" %} + {% include "common-page-variables" %} + + + + {% include "template-svg-spritesheet" %} + +
    + {% include "site-header" %} + {% include "common-page-variables" %} + +
    +
    + {% if editmode %}{% endif %} +
    + + + {% if sidebar_active %} + {% include "site-sidebar" %} + {% endif %} + +
    +
    +
    +
    +
    + {% include "menu-breadcrumbs" %} + +
    +
    + {% if editmode %} +
    +
    + + + + +
    +
    +
    +
    + {% else %} + {% if page.image %} +
    +
    +
    + {% if page.image %} +
    + + {% else %} +
    {{ page.title | truncate: 50 }}
    + {% endif %} +
    +
    +
    + {% endif %} + {% endif %} + + +
    + +
    +
    {% contentblock %}{{ "write_product_description_here" | lc: editor_locale }}{% endcontentblock %}
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + {% include "site-footer" %} +
    + + {% include "menu-mobile" %} + {% include "site-signout" %} + {% include "site-javascripts" %} + {% include "template-tools" with "item_list_page" %} + + + diff --git a/layouts/product_list.tpl b/layouts/product_list.tpl new file mode 100644 index 0000000..307f363 --- /dev/null +++ b/layouts/product_list.tpl @@ -0,0 +1,84 @@ + +{% include "template-variables" %} + + + {% assign item_list_page = true %} + {% include "template-variables" %} + {% include "html-head" sidebar: true %} + {% include "template-styles" %} + {% include "common-page-variables" %} + + + + {% include "template-svg-spritesheet" %} + +
    + {% include "site-header" %} + +
    +
    + {% if editmode %} + + {% endif %} + +
    + + + {% if sidebar_active %} + {% include "site-sidebar" %} + {% endif %} + +
    +
    +
    +
    +
    {% content %}
    + +
    + {% include "menu-breadcrumbs" %} + +
    + {% if site.root_item.selected? %} + {% for level_1 in site.visible_menuitems_with_data %} + {% if level_1.layout_title == product_list_layout or level_1.layout_title == product_layout %} + {% include "product-list-item" menu_level: level_1 %} + {% endif %} + {% endfor %} + {% else %} + {% for i in (1..4) %} + {% assign level_str = 'menuitems_on_level_' | append: i %} + {% for item in site[level_str] %} + {% if item.selected? %} + {% for item_child in item.visible_children_with_data %} + {% if item.current? %} + {% if item_child.layout_title == product_list_layout or item_child.layout_title == product_layout %} + {% include "product-list-item" menu_level: item_child %} + {% endif %} + {% endif %} + {% endfor %} + {% endif %} + {% endfor %} + {% endfor %} + {% endif %} +
    +
    +
    +
    +
    +
    +
    +
    +
    + {% include "site-footer" %} + + + {% include "menu-mobile" %} + {% include "site-signout" %} + {% include "site-javascripts" %} + {% include "template-tools" with "item_list_page" %} + + + diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..8c75ff6 --- /dev/null +++ b/manifest.json @@ -0,0 +1,505 @@ +{ + "description": "Modern layout", + "name": "Dorpat", + "preview_medium": "", + "preview_small": "", + "author": "Paavel Liik", + "layouts": [ + { + "content_type": "page", + "component": false, + "file": "layouts/product.tpl", + "layout_name": "product", + "title": "Product" + }, + { + "content_type": "page", + "component": false, + "file": "layouts/front_page.tpl", + "layout_name": "page_front", + "title": "Front page" + }, + { + "content_type": "page", + "component": false, + "file": "layouts/common_page.tpl", + "layout_name": "page_default", + "title": "Common page" + }, + { + "content_type": "page", + "component": false, + "file": "layouts/product_list.tpl", + "layout_name": "product_list", + "title": "Product list" + }, + { + "content_type": "blog", + "component": false, + "file": "layouts/blog___news.tpl", + "layout_name": "blog", + "title": "Blog & news" + }, + { + "content_type": "blog_article", + "component": false, + "file": "layouts/blog_article.tpl", + "layout_name": "blog_article", + "title": "Blog article" + }, + { + "content_type": "component", + "component": true, + "file": "components/template-cs-sidebar.tpl", + "layout_name": "template-cs-sidebar", + "title": "template-cs-sidebar" + }, + { + "content_type": "component", + "component": true, + "file": "components/menu-level-1-link.tpl", + "layout_name": "menu-level-1-link", + "title": "menu-level-1-link" + }, + { + "content_type": "component", + "component": true, + "file": "components/template-cs-header.tpl", + "layout_name": "template-cs-header", + "title": "template-cs-header" + }, + { + "content_type": "component", + "component": true, + "file": "components/template-cs-headings.tpl", + "layout_name": "template-cs-headings", + "title": "template-cs-headings" + }, + { + "content_type": "component", + "component": true, + "file": "components/template-cs-table.tpl", + "layout_name": "template-cs-table", + "title": "template-cs-table" + }, + { + "content_type": "component", + "component": true, + "file": "components/template-meta.tpl", + "layout_name": "template-meta", + "title": "template-meta" + }, + { + "content_type": "component", + "component": true, + "file": "components/site-signout.tpl", + "layout_name": "site-signout", + "title": "site-signout" + }, + { + "content_type": "component", + "component": true, + "file": "components/blog-article-tags.tpl", + "layout_name": "blog-article-tags", + "title": "blog-article-tags" + }, + { + "content_type": "component", + "component": true, + "file": "components/menu-mobile-level-2-link.tpl", + "layout_name": "menu-mobile-level-2-link", + "title": "menu-mobile-level-2-link" + }, + { + "content_type": "component", + "component": true, + "file": "components/blog-article-template.tpl", + "layout_name": "blog-article-template", + "title": "blog-article-template" + }, + { + "content_type": "component", + "component": true, + "file": "components/template-cs-footer.tpl", + "layout_name": "template-cs-footer", + "title": "template-cs-footer" + }, + { + "content_type": "component", + "component": true, + "file": "components/site-sidebar.tpl", + "layout_name": "site-sidebar", + "title": "site-sidebar" + }, + { + "content_type": "component", + "component": true, + "file": "components/product-list-item.tpl", + "layout_name": "product-list-item", + "title": "product-list-item" + }, + { + "content_type": "component", + "component": true, + "file": "components/site-header.tpl", + "layout_name": "site-header", + "title": "site-header" + }, + { + "content_type": "component", + "component": true, + "file": "components/blog-news-tags.tpl", + "layout_name": "blog-news-tags", + "title": "blog-news-tags" + }, + { + "content_type": "component", + "component": true, + "file": "components/menu-mobile.tpl", + "layout_name": "menu-mobile", + "title": "menu-mobile" + }, + { + "content_type": "component", + "component": true, + "file": "components/template-cs-button.tpl", + "layout_name": "template-cs-button", + "title": "template-cs-button" + }, + { + "content_type": "component", + "component": true, + "file": "components/site-footer.tpl", + "layout_name": "site-footer", + "title": "site-footer" + }, + { + "content_type": "component", + "component": true, + "file": "components/blog-settings-variables.tpl", + "layout_name": "blog-settings-variables", + "title": "blog-settings-variables" + }, + { + "content_type": "component", + "component": true, + "file": "components/template-cs-content.tpl", + "layout_name": "template-cs-content", + "title": "template-cs-content" + }, + { + "content_type": "component", + "component": true, + "file": "components/template-tools.tpl", + "layout_name": "template-tools", + "title": "template-tools" + }, + { + "content_type": "component", + "component": true, + "file": "components/common-page-variables.tpl", + "layout_name": "common-page-variables", + "title": "common-page-variables" + }, + { + "content_type": "component", + "component": true, + "file": "components/template-cs-header-front.tpl", + "layout_name": "template-cs-header-front", + "title": "template-cs-header-front" + }, + { + "content_type": "component", + "component": true, + "file": "components/menu-sub.tpl", + "layout_name": "menu-sub", + "title": "menu-sub" + }, + { + "content_type": "component", + "component": true, + "file": "components/menu-mobile-level-1-link.tpl", + "layout_name": "menu-mobile-level-1-link", + "title": "menu-mobile-level-1-link" + }, + { + "content_type": "component", + "component": true, + "file": "components/template-cs-main-styles.tpl", + "layout_name": "template-cs-main-styles", + "title": "template-cs-main-styles" + }, + { + "content_type": "component", + "component": true, + "file": "components/menu-level-2-link.tpl", + "layout_name": "menu-level-2-link", + "title": "menu-level-2-link" + }, + { + "content_type": "component", + "component": true, + "file": "components/template-variables.tpl", + "layout_name": "template-variables", + "title": "template-variables" + }, + { + "content_type": "component", + "component": true, + "file": "components/menu-main.tpl", + "layout_name": "menu-main", + "title": "menu-main" + }, + { + "content_type": "component", + "component": true, + "file": "components/blog-article-comments.tpl", + "layout_name": "blog-article-comments", + "title": "blog-article-comments" + }, + { + "content_type": "component", + "component": true, + "file": "components/site-search.tpl", + "layout_name": "site-search", + "title": "site-search" + }, + { + "content_type": "component", + "component": true, + "file": "components/template-cs-style-rules.tpl", + "layout_name": "template-cs-style-rules", + "title": "template-cs-style-rules" + }, + { + "content_type": "component", + "component": true, + "file": "components/template-styles.tpl", + "layout_name": "template-styles", + "title": "template-styles" + }, + { + "content_type": "component", + "component": true, + "file": "components/site-javascripts.tpl", + "layout_name": "site-javascripts", + "title": "site-javascripts" + }, + { + "content_type": "component", + "component": true, + "file": "components/menu-language.tpl", + "layout_name": "menu-language", + "title": "menu-language" + }, + { + "content_type": "component", + "component": true, + "file": "components/html-head.tpl", + "layout_name": "html-head", + "title": "html-head" + }, + { + "content_type": "component", + "component": true, + "file": "components/front-page-variables.tpl", + "layout_name": "front-page-variables", + "title": "front-page-variables" + }, + { + "content_type": "component", + "component": true, + "file": "components/blog-article-variables.tpl", + "layout_name": "blog-article-variables", + "title": "blog-article-variables" + }, + { + "content_type": "component", + "component": true, + "file": "components/template-svg-spritesheet.tpl", + "layout_name": "template-svg-spritesheet", + "title": "template-svg-spritesheet" + }, + { + "content_type": "component", + "component": true, + "file": "components/menu-breadcrumbs.tpl", + "layout_name": "menu-breadcrumbs", + "title": "menu-breadcrumbs" + }, + { + "content_type": "component", + "component": true, + "file": "components/article-settings-editor.tpl", + "layout_name": "article-settings-editor", + "title": "article-settings-editor" + }, + { + "content_type": "component", + "component": true, + "file": "components/template-cs-form.tpl", + "layout_name": "template-cs-form", + "title": "template-cs-form" + }, + { + "content_type": "component", + "component": true, + "file": "components/blog-settings-editor.tpl", + "layout_name": "blog-settings-editor", + "title": "blog-settings-editor" + }, + { + "content_type": "component", + "component": true, + "file": "components/menu-language-popover.tpl", + "layout_name": "menu-language-popover", + "title": "menu-language-popover" + } + ], + "assets": [ + { + "content_type": "image/svg+xml", + "file": "assets/ico-arrow-white.svg", + "kind": "assets", + "filename": "ico-arrow-white.svg" + }, + { + "content_type": "image/svg+xml", + "file": "assets/ico-arrow.svg", + "kind": "assets", + "filename": "ico-arrow.svg" + }, + { + "content_type": "image/svg+xml", + "file": "assets/ico-flags.svg", + "kind": "assets", + "filename": "ico-flags.svg" + }, + { + "content_type": "image/jpeg", + "file": "images/page-header-bg.jpg", + "kind": "images", + "filename": "page-header-bg.jpg" + }, + { + "content_type": "image/jpeg", + "file": "images/front-header-bg_large.jpg", + "kind": "images", + "filename": "front-header-bg_large.jpg" + }, + { + "content_type": "image/jpeg", + "file": "images/article-header-bg_block.jpg", + "kind": "images", + "filename": "article-header-bg_block.jpg" + }, + { + "content_type": "image/jpeg", + "file": "images/front-header-bg_huge.jpg", + "kind": "images", + "filename": "front-header-bg_huge.jpg" + }, + { + "content_type": "image/jpeg", + "file": "images/front-header-bg_block.jpg", + "kind": "images", + "filename": "front-header-bg_block.jpg" + }, + { + "content_type": "image/jpeg", + "file": "images/feature-image-1_large.jpg", + "kind": "images", + "filename": "feature-image-1_large.jpg" + }, + { + "content_type": "image/jpeg", + "file": "images/article-header-bg.jpg", + "kind": "images", + "filename": "article-header-bg.jpg" + }, + { + "content_type": "image/jpeg", + "file": "images/article-header-bg_large.jpg", + "kind": "images", + "filename": "article-header-bg_large.jpg" + }, + { + "content_type": "image/jpeg", + "file": "images/article-header-bg_huge.jpg", + "kind": "images", + "filename": "article-header-bg_huge.jpg" + }, + { + "content_type": "image/jpeg", + "file": "images/front-header-bg.jpg", + "kind": "images", + "filename": "front-header-bg.jpg" + }, + { + "content_type": "image/jpeg", + "file": "images/page-header-bg_huge.jpg", + "kind": "images", + "filename": "page-header-bg_huge.jpg" + }, + { + "content_type": "image/jpeg", + "file": "images/feature-image-2_large.jpg", + "kind": "images", + "filename": "feature-image-2_large.jpg" + }, + { + "content_type": "image/jpeg", + "file": "images/page-header-bg_block.jpg", + "kind": "images", + "filename": "page-header-bg_block.jpg" + }, + { + "content_type": "image/jpeg", + "file": "images/feature-image-3_large.jpg", + "kind": "images", + "filename": "feature-image-3_large.jpg" + }, + { + "content_type": "image/png", + "file": "images/ico-flags.png", + "kind": "images", + "filename": "ico-flags.png" + }, + { + "content_type": "image/jpeg", + "file": "images/page-header-bg_large.jpg", + "kind": "images", + "filename": "page-header-bg_large.jpg" + }, + { + "content_type": "application/javascript", + "file": "javascripts/main.min.js", + "kind": "javascripts", + "filename": "main.min.js" + }, + { + "content_type": "application/javascript", + "file": "javascripts/main.js", + "kind": "javascripts", + "filename": "main.js" + }, + { + "content_type": "application/javascript", + "file": "javascripts/modernizr-custom.min.js", + "kind": "javascripts", + "filename": "modernizr-custom.min.js" + }, + { + "content_type": "text/css", + "file": "stylesheets/main.min.css", + "kind": "stylesheets", + "filename": "main.min.css" + }, + { + "content_type": "text/css", + "file": "stylesheets/main.css", + "kind": "stylesheets", + "filename": "main.css" + } + ] +} \ No newline at end of file diff --git a/modernizr-config.json b/modernizr-config.json new file mode 100644 index 0000000..d4d9c25 --- /dev/null +++ b/modernizr-config.json @@ -0,0 +1,11 @@ +{ + "classPrefix": "", + "options": [ + "html5shiv", + "setClasses" + ], + "feature-detects": [ + "css/flexbox", + "svg" + ] +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..b16f0c7 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4603 @@ +{ + "name": "voog-design-dorpat", + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", + "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.0" + } + }, + "archive-type": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz", + "integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=", + "dev": true, + "requires": { + "file-type": "3.9.0" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "dev": true + } + } + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "1.0.3" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "async-each-series": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-1.1.0.tgz", + "integrity": "sha1-9C/YFV048hpbjqB8KOBj7RcAsTg=", + "dev": true, + "optional": true + }, + "autolinker": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.15.3.tgz", + "integrity": "sha1-NCQX2PLzRhsUzwkIjV7fh5HcmDI=", + "dev": true + }, + "autoprefixer": { + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz", + "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==", + "dev": true, + "requires": { + "browserslist": "2.11.3", + "caniuse-lite": "1.0.30000819", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "6.0.21", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.0" + } + }, + "browserslist": { + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", + "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", + "dev": true, + "requires": { + "caniuse-lite": "1.0.30000819", + "electron-to-chromium": "1.3.40" + } + }, + "caniuse-lite": { + "version": "1.0.30000819", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000819.tgz", + "integrity": "sha512-9i1d8eiKA6dLvsMrVrXOTP9/1sd9iIv4iC/UbPbIa9iQd9Gcnozi2sQ0d69TiQY9l7Alt7YIWISOBwyGSM6H0Q==", + "dev": true + }, + "chalk": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.3.0" + } + }, + "electron-to-chromium": { + "version": "1.3.40", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.40.tgz", + "integrity": "sha1-H71tl779crim+SHcONIkE9L2/d8=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "postcss": { + "version": "6.0.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.21.tgz", + "integrity": "sha512-y/bKfbQz2Nn/QBC08bwvYUxEFOVGfPIUOTsJ2CK5inzlXW9SdYR1x4pEsG9blRAF/PX+wRNdOah+gx/hv4q7dw==", + "dev": true, + "requires": { + "chalk": "2.3.2", + "source-map": "0.6.1", + "supports-color": "5.3.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "beeper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", + "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", + "dev": true + }, + "bin-build": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz", + "integrity": "sha1-EfjdYfcP/Por3KpbRvXo/t1CIcw=", + "dev": true, + "optional": true, + "requires": { + "archive-type": "3.2.0", + "decompress": "3.0.0", + "download": "4.4.3", + "exec-series": "1.0.3", + "rimraf": "2.2.8", + "tempfile": "1.1.1", + "url-regex": "3.2.0" + }, + "dependencies": { + "tempfile": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz", + "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=", + "dev": true, + "optional": true, + "requires": { + "os-tmpdir": "1.0.2", + "uuid": "2.0.3" + } + }, + "uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "dev": true, + "optional": true + } + } + }, + "bin-check": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-2.0.0.tgz", + "integrity": "sha1-hvjm9CU4k99g3DFpV/WvAqywWTA=", + "dev": true, + "optional": true, + "requires": { + "executable": "1.1.0" + } + }, + "bin-version": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-1.0.4.tgz", + "integrity": "sha1-nrSY7m/Xb3q5p8FgQ2+JV5Q1144=", + "dev": true, + "optional": true, + "requires": { + "find-versions": "1.2.1" + } + }, + "bin-version-check": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-2.1.0.tgz", + "integrity": "sha1-5OXfKQuQaffRETJAMe/BP90RpbA=", + "dev": true, + "optional": true, + "requires": { + "bin-version": "1.0.4", + "minimist": "1.2.0", + "semver": "4.3.6", + "semver-truncate": "1.1.2" + }, + "dependencies": { + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "dev": true, + "optional": true + } + } + }, + "bin-wrapper": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz", + "integrity": "sha1-Z9MwYmLksaXy+I7iNGT2plVneus=", + "dev": true, + "optional": true, + "requires": { + "bin-check": "2.0.0", + "bin-version-check": "2.1.0", + "download": "4.4.3", + "each-async": "1.1.1", + "lazy-req": "1.1.0", + "os-filter-obj": "1.0.3" + } + }, + "bl": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", + "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", + "dev": true, + "requires": { + "readable-stream": "2.3.3" + } + }, + "body-parser": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", + "integrity": "sha1-EBXLH+LEQ4WCWVgdtTMy+NDPUPk=", + "dev": true, + "requires": { + "bytes": "2.2.0", + "content-type": "1.0.2", + "debug": "2.2.0", + "depd": "1.1.1", + "http-errors": "1.3.1", + "iconv-lite": "0.4.13", + "on-finished": "2.3.0", + "qs": "5.2.0", + "raw-body": "2.1.7", + "type-is": "1.6.15" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", + "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", + "dev": true + }, + "qs": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz", + "integrity": "sha1-qfMRQq9GjLcrJbMBNrokVoNJFr4=", + "dev": true + } + } + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "dev": true, + "requires": { + "pako": "0.2.9" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "buffer-to-vinyl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz", + "integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=", + "dev": true, + "requires": { + "file-type": "3.9.0", + "readable-stream": "2.3.3", + "uuid": "2.0.3", + "vinyl": "1.2.0" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "dev": true + }, + "uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "dev": true + } + } + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "bytes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz", + "integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=", + "dev": true + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + } + }, + "capture-stack-trace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", + "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", + "dev": true + }, + "caw": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz", + "integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=", + "dev": true, + "requires": { + "get-proxy": "1.1.0", + "is-obj": "1.0.1", + "object-assign": "3.0.0", + "tunnel-agent": "0.4.3" + }, + "dependencies": { + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + } + } + }, + "chalk": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.4.0" + } + }, + "clap": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.0.tgz", + "integrity": "sha1-WckP4+E3EEdG/xlGmiemNP9oyFc=", + "dev": true, + "optional": true, + "requires": { + "chalk": "1.1.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "optional": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "optional": true + } + } + }, + "clean-css": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.8.tgz", + "integrity": "sha1-BhRVsklKdQrJj0bY1euxfGeeqdE=", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + }, + "clone": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", + "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", + "dev": true + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + }, + "co": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz", + "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=", + "dev": true + }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "dev": true, + "optional": true, + "requires": { + "q": "1.5.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "coffee-script": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz", + "integrity": "sha1-EpOLz5vhlI+gBvkuDEyegXBRCMA=", + "dev": true + }, + "color-convert": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", + "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "dev": true, + "requires": { + "graceful-readlink": "1.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "typedarray": "0.0.6" + } + }, + "console-stream": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", + "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=", + "dev": true, + "optional": true + }, + "content-type": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", + "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0=", + "dev": true + }, + "convert-source-map": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", + "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, + "requires": { + "capture-stack-trace": "1.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.2.14" + } + }, + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "dev": true, + "optional": true, + "requires": { + "clap": "1.2.0", + "source-map": "0.5.7" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "dargs": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", + "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "4.0.1", + "meow": "3.7.0" + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decompress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz", + "integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=", + "dev": true, + "requires": { + "buffer-to-vinyl": "1.1.0", + "concat-stream": "1.6.0", + "decompress-tar": "3.1.0", + "decompress-tarbz2": "3.1.0", + "decompress-targz": "3.1.0", + "decompress-unzip": "3.4.0", + "stream-combiner2": "1.1.1", + "vinyl-assign": "1.2.1", + "vinyl-fs": "2.4.4" + } + }, + "decompress-tar": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz", + "integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=", + "dev": true, + "requires": { + "is-tar": "1.0.0", + "object-assign": "2.1.1", + "strip-dirs": "1.1.1", + "tar-stream": "1.5.4", + "through2": "0.6.5", + "vinyl": "0.4.6" + }, + "dependencies": { + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "dev": true + }, + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", + "dev": true + }, + "vinyl": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", + "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "dev": true, + "requires": { + "clone": "0.2.0", + "clone-stats": "0.0.1" + } + } + } + }, + "decompress-tarbz2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz", + "integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=", + "dev": true, + "requires": { + "is-bzip2": "1.0.0", + "object-assign": "2.1.1", + "seek-bzip": "1.0.5", + "strip-dirs": "1.1.1", + "tar-stream": "1.5.4", + "through2": "0.6.5", + "vinyl": "0.4.6" + }, + "dependencies": { + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "dev": true + }, + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", + "dev": true + }, + "vinyl": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", + "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "dev": true, + "requires": { + "clone": "0.2.0", + "clone-stats": "0.0.1" + } + } + } + }, + "decompress-targz": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz", + "integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=", + "dev": true, + "requires": { + "is-gzip": "1.0.0", + "object-assign": "2.1.1", + "strip-dirs": "1.1.1", + "tar-stream": "1.5.4", + "through2": "0.6.5", + "vinyl": "0.4.6" + }, + "dependencies": { + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "dev": true + }, + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", + "dev": true + }, + "vinyl": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", + "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "dev": true, + "requires": { + "clone": "0.2.0", + "clone-stats": "0.0.1" + } + } + } + }, + "decompress-unzip": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz", + "integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=", + "dev": true, + "requires": { + "is-zip": "1.0.0", + "read-all-stream": "3.1.0", + "stat-mode": "0.2.2", + "strip-dirs": "1.1.1", + "through2": "2.0.3", + "vinyl": "1.2.0", + "yauzl": "2.8.0" + }, + "dependencies": { + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.3", + "xtend": "4.0.1" + } + } + } + }, + "deep-extend": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "dev": true + }, + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true + }, + "doctrine": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.2.3.tgz", + "integrity": "sha1-auxrvWLPid1JjK5wwO2fSdqHOmo=", + "dev": true, + "requires": { + "esutils": "2.0.2", + "isarray": "1.0.0" + } + }, + "download": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/download/-/download-4.4.3.tgz", + "integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=", + "dev": true, + "requires": { + "caw": "1.2.0", + "concat-stream": "1.6.0", + "each-async": "1.1.1", + "filenamify": "1.2.1", + "got": "5.7.1", + "gulp-decompress": "1.2.0", + "gulp-rename": "1.2.2", + "is-url": "1.2.2", + "object-assign": "4.1.1", + "read-all-stream": "3.1.0", + "readable-stream": "2.3.3", + "stream-combiner2": "1.1.1", + "vinyl": "1.2.0", + "vinyl-fs": "2.4.4", + "ware": "1.3.0" + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dev": true, + "requires": { + "readable-stream": "2.3.3" + } + }, + "duplexify": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz", + "integrity": "sha512-j5goxHTwVED1Fpe5hh3q9R93Kip0Bg2KVAt4f8CEYM3UEwYcPSvWbXaUQOzdX/HtiNomipv+gU7ASQPDbV7pGQ==", + "dev": true, + "requires": { + "end-of-stream": "1.4.0", + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "stream-shift": "1.0.0" + } + }, + "each-async": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz", + "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=", + "dev": true, + "requires": { + "onetime": "1.1.0", + "set-immediate-shim": "1.0.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", + "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "eventemitter2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", + "dev": true + }, + "exec-buffer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz", + "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==", + "dev": true, + "optional": true, + "requires": { + "execa": "0.7.0", + "p-finally": "1.0.0", + "pify": "3.0.0", + "rimraf": "2.6.1", + "tempfile": "2.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "optional": true + }, + "rimraf": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "dev": true, + "optional": true, + "requires": { + "glob": "7.0.6" + } + } + } + }, + "exec-series": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/exec-series/-/exec-series-1.0.3.tgz", + "integrity": "sha1-bSV6m+rEgqhyx3g7yGFYOfx3FDo=", + "dev": true, + "optional": true, + "requires": { + "async-each-series": "1.1.0", + "object-assign": "4.1.1" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "executable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/executable/-/executable-1.1.0.tgz", + "integrity": "sha1-h3mA6REvM5EGbaNyZd562ENKtNk=", + "dev": true, + "optional": true, + "requires": { + "meow": "3.7.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + } + } + }, + "fancy-log": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz", + "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "time-stamp": "1.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": "0.6.5" + } + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "requires": { + "pend": "1.2.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" + } + }, + "file": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/file/-/file-0.2.2.tgz", + "integrity": "sha1-w9/Y+M81Na5FXCtCPC5SY112tNM=", + "dev": true + }, + "file-sync-cmp": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", + "integrity": "sha1-peeo/7+kk7Q7kju9TKiaU7Y7YSs=", + "dev": true + }, + "file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=", + "dev": true + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "filename-reserved-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", + "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=", + "dev": true + }, + "filenamify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", + "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", + "dev": true, + "requires": { + "filename-reserved-regex": "1.0.0", + "strip-outer": "1.0.0", + "trim-repeated": "1.0.0" + } + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "find-parent-dir": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz", + "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=", + "dev": true + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "find-versions": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-1.2.1.tgz", + "integrity": "sha1-y96fEuOFdaCvG+G5osXV/Y8Ya2I=", + "dev": true, + "optional": true, + "requires": { + "array-uniq": "1.0.3", + "get-stdin": "4.0.1", + "meow": "3.7.0", + "semver-regex": "1.0.0" + } + }, + "findup-sync": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", + "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", + "dev": true, + "requires": { + "glob": "5.0.15" + }, + "dependencies": { + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, + "first-chunk-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", + "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "gaze": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", + "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", + "dev": true, + "requires": { + "globule": "1.2.0" + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "get-proxy": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz", + "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=", + "dev": true, + "requires": { + "rc": "1.2.1" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "optional": true + }, + "getobject": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", + "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=", + "dev": true + }, + "gifsicle": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-3.0.4.tgz", + "integrity": "sha1-9Fy17RAWW2ZdySng6TKLbIId+js=", + "dev": true, + "optional": true, + "requires": { + "bin-build": "2.2.0", + "bin-wrapper": "3.0.2", + "logalot": "2.1.0" + } + }, + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + } + }, + "glob-stream": { + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz", + "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=", + "dev": true, + "requires": { + "extend": "3.0.1", + "glob": "5.0.15", + "glob-parent": "3.1.0", + "micromatch": "2.3.11", + "ordered-read-streams": "0.3.0", + "through2": "0.6.5", + "to-absolute-glob": "0.1.1", + "unique-stream": "2.2.1" + }, + "dependencies": { + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "glob": "7.0.6", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "globule": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", + "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", + "dev": true, + "requires": { + "glob": "7.1.2", + "lodash": "4.17.4", + "minimatch": "3.0.4" + }, + "dependencies": { + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + } + } + }, + "glogg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", + "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", + "dev": true, + "requires": { + "sparkles": "1.0.0" + } + }, + "got": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz", + "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=", + "dev": true, + "requires": { + "create-error-class": "3.0.2", + "duplexer2": "0.1.4", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.0", + "node-status-codes": "1.0.0", + "object-assign": "4.1.1", + "parse-json": "2.2.0", + "pinkie-promise": "2.0.1", + "read-all-stream": "3.1.0", + "readable-stream": "2.3.3", + "timed-out": "3.1.3", + "unzip-response": "1.0.2", + "url-parse-lax": "1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "grunt": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.1.tgz", + "integrity": "sha1-6HeHZOlEsY8yuw8QuQeEdcnftWs=", + "dev": true, + "requires": { + "coffee-script": "1.10.0", + "dateformat": "1.0.12", + "eventemitter2": "0.4.14", + "exit": "0.1.2", + "findup-sync": "0.3.0", + "glob": "7.0.6", + "grunt-cli": "1.2.0", + "grunt-known-options": "1.1.0", + "grunt-legacy-log": "1.0.0", + "grunt-legacy-util": "1.0.0", + "iconv-lite": "0.4.18", + "js-yaml": "3.5.5", + "minimatch": "3.0.4", + "nopt": "3.0.6", + "path-is-absolute": "1.0.1", + "rimraf": "2.2.8" + }, + "dependencies": { + "grunt-cli": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz", + "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", + "dev": true, + "requires": { + "findup-sync": "0.3.0", + "grunt-known-options": "1.1.0", + "nopt": "3.0.6", + "resolve": "1.1.7" + } + } + } + }, + "grunt-contrib-clean": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-1.1.0.tgz", + "integrity": "sha1-Vkq/LQN4qYOhW54/MO51tzjEBjg=", + "dev": true, + "requires": { + "async": "1.5.2", + "rimraf": "2.6.1" + }, + "dependencies": { + "rimraf": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "dev": true, + "requires": { + "glob": "7.0.6" + } + } + } + }, + "grunt-contrib-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz", + "integrity": "sha1-YVCYYwhOhx1+ht5IwBUlntl3Rb0=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "source-map": "0.5.7" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "grunt-contrib-copy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", + "integrity": "sha1-cGDGWB6QS4qw0A8HbgqPbj58NXM=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "file-sync-cmp": "0.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "grunt-contrib-cssmin": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-2.2.1.tgz", + "integrity": "sha512-IXNomhQ5ekVZbDbj/ik5YccoD9khU6LT2fDXqO1+/Txjq8cp0tQKjVS8i8EAbHOrSDkL7/UD6A7b+xj98gqh9w==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "clean-css": "4.1.8", + "maxmin": "2.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "grunt-contrib-imagemin": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-imagemin/-/grunt-contrib-imagemin-2.0.1.tgz", + "integrity": "sha512-91zBrvh350QSpsxyCTXni0djMXavF3elBmvFgnbp/2CgIx53QYe+Cvf2+wZmrcb8U0qp+MjHl0Ahjct4+R6PLQ==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "imagemin": "5.3.1", + "imagemin-gifsicle": "5.2.0", + "imagemin-jpegtran": "5.0.2", + "imagemin-optipng": "5.2.1", + "imagemin-svgo": "5.2.2", + "p-map": "1.1.1", + "plur": "2.1.2", + "pretty-bytes": "4.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "pretty-bytes": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", + "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "grunt-contrib-sass": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-sass/-/grunt-contrib-sass-1.0.0.tgz", + "integrity": "sha1-gGg4JRy8DhqU1k1RXN00z2dNcBs=", + "dev": true, + "requires": { + "async": "0.9.2", + "chalk": "1.1.3", + "cross-spawn": "0.2.9", + "dargs": "4.1.0", + "which": "1.2.14" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "cross-spawn": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-0.2.9.tgz", + "integrity": "sha1-vWf5bAfvtjA7f+lMHpefiEeOCjk=", + "dev": true, + "requires": { + "lru-cache": "2.7.3" + } + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "grunt-contrib-uglify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-3.3.0.tgz", + "integrity": "sha512-W9O7lJE3PlD8VCc5fyaf98QV7f5wEDiU4PBIh0+/6UBbk2LhgzEFS0/p+taH5UD3+PlEn7QPN0o06Z0To6SqXw==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "maxmin": "1.1.0", + "uglify-js": "3.3.16", + "uri-path": "1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "gzip-size": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz", + "integrity": "sha1-Zs+LEBBHInuVus5uodoMF37Vwi8=", + "dev": true, + "requires": { + "browserify-zlib": "0.1.4", + "concat-stream": "1.6.0" + } + }, + "maxmin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz", + "integrity": "sha1-cTZehKmd2Piz99X94vANHn9zvmE=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "figures": "1.7.0", + "gzip-size": "1.0.0", + "pretty-bytes": "1.0.4" + } + }, + "pretty-bytes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", + "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", + "dev": true, + "requires": { + "get-stdin": "4.0.1", + "meow": "3.7.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "uglify-js": { + "version": "3.3.16", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.16.tgz", + "integrity": "sha512-FMh5SRqJRGhv9BbaTffENIpDDQIoPDR8DBraunGORGhySArsXlw9++CN+BWzPBLpoI4RcSnpfGPnilTxWL3Vvg==", + "dev": true, + "requires": { + "commander": "2.15.1", + "source-map": "0.6.1" + } + } + } + }, + "grunt-contrib-watch": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz", + "integrity": "sha1-hKGnodar0m7VaEE0lscxM+mQAY8=", + "dev": true, + "requires": { + "async": "1.5.2", + "gaze": "1.1.2", + "lodash": "3.10.1", + "tiny-lr": "0.2.1" + } + }, + "grunt-exec": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-3.0.0.tgz", + "integrity": "sha512-cgAlreXf3muSYS5LzW0Cc4xHK03BjFOYk0MqCQ/MZ3k1Xz2GU7D+IAJg4UKicxpO+XdONJdx/NJ6kpy2wI+uHg==", + "dev": true + }, + "grunt-known-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz", + "integrity": "sha1-pCdO6zL6dl2lp6OxcSYXzjsUQUk=", + "dev": true + }, + "grunt-legacy-log": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz", + "integrity": "sha1-+4bxgJhHvAfcR4Q/ns1srLYt8tU=", + "dev": true, + "requires": { + "colors": "1.1.2", + "grunt-legacy-log-utils": "1.0.0", + "hooker": "0.2.3", + "lodash": "3.10.1", + "underscore.string": "3.2.3" + } + }, + "grunt-legacy-log-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz", + "integrity": "sha1-p7ji0Ps1taUPSvmG/BEnSevJbz0=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "lodash": "4.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "lodash": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz", + "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "grunt-legacy-util": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz", + "integrity": "sha1-OGqnjcbtUJhsKxiVcmWxtIq7m4Y=", + "dev": true, + "requires": { + "async": "1.5.2", + "exit": "0.1.2", + "getobject": "0.1.0", + "hooker": "0.2.3", + "lodash": "4.3.0", + "underscore.string": "3.2.3", + "which": "1.2.14" + }, + "dependencies": { + "lodash": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz", + "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=", + "dev": true + } + } + }, + "grunt-modernizr-builder": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/grunt-modernizr-builder/-/grunt-modernizr-builder-0.1.9.tgz", + "integrity": "sha1-77OP8AhtYnah3oxH4tyV2iZqfSc=", + "dev": true, + "requires": { + "modernizr": "3.5.0" + } + }, + "grunt-postcss": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/grunt-postcss/-/grunt-postcss-0.9.0.tgz", + "integrity": "sha512-lglLcVaoOIqH0sFv7RqwUKkEFGQwnlqyAKbatxZderwZGV1nDyKHN7gZS9LUiTx1t5GOvRBx0BEalHMyVwFAIA==", + "dev": true, + "requires": { + "chalk": "2.1.0", + "diff": "3.5.0", + "postcss": "6.0.11" + }, + "dependencies": { + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + } + } + }, + "gulp-decompress": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz", + "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=", + "dev": true, + "requires": { + "archive-type": "3.2.0", + "decompress": "3.0.0", + "gulp-util": "3.0.8", + "readable-stream": "2.3.3" + } + }, + "gulp-rename": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz", + "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=", + "dev": true + }, + "gulp-sourcemaps": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz", + "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=", + "dev": true, + "requires": { + "convert-source-map": "1.5.0", + "graceful-fs": "4.1.11", + "strip-bom": "2.0.0", + "through2": "2.0.3", + "vinyl": "1.2.0" + }, + "dependencies": { + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.3", + "xtend": "4.0.1" + } + } + } + }, + "gulp-util": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", + "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", + "dev": true, + "requires": { + "array-differ": "1.0.0", + "array-uniq": "1.0.3", + "beeper": "1.1.1", + "chalk": "1.1.3", + "dateformat": "2.0.0", + "fancy-log": "1.3.0", + "gulplog": "1.0.0", + "has-gulplog": "0.1.0", + "lodash._reescape": "3.0.0", + "lodash._reevaluate": "3.0.0", + "lodash._reinterpolate": "3.0.0", + "lodash.template": "3.6.2", + "minimist": "1.2.0", + "multipipe": "0.1.2", + "object-assign": "3.0.0", + "replace-ext": "0.0.1", + "through2": "2.0.3", + "vinyl": "0.5.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "dateformat": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.0.0.tgz", + "integrity": "sha1-J0Pjq7XD/CRi5SfcpEXgTp9N7hc=", + "dev": true + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.3", + "xtend": "4.0.1" + } + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "1.0.2", + "clone-stats": "0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "1.0.0" + } + }, + "gzip-size": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", + "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=", + "dev": true, + "requires": { + "duplexer": "0.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "1.0.0" + } + }, + "hooker": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", + "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", + "dev": true + }, + "hosted-git-info": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", + "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", + "dev": true, + "optional": true + }, + "http-errors": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", + "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "statuses": "1.3.1" + } + }, + "iconv-lite": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz", + "integrity": "sha512-sr1ZQph3UwHTR0XftSbK85OvBbxe/abLGzEnPENCQwmHf7sck8Oyu4ob3LgBxWWxRoM+QszeUyl7jbqapu2TqA==", + "dev": true + }, + "imagemin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-5.3.1.tgz", + "integrity": "sha1-8Zwu7h5xumxlWMUV+fyWaAGJptQ=", + "dev": true, + "requires": { + "file-type": "4.4.0", + "globby": "6.1.0", + "make-dir": "1.0.0", + "p-pipe": "1.2.0", + "pify": "2.3.0", + "replace-ext": "1.0.0" + } + }, + "imagemin-gifsicle": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-5.2.0.tgz", + "integrity": "sha512-K01m5QuPK+0en8oVhiOOAicF7KjrHlCZxS++mfLI2mV/Ksfq/Y9nCXCWDz6jRv13wwlqe5T7hXT+ji2DnLc2yQ==", + "dev": true, + "optional": true, + "requires": { + "exec-buffer": "3.2.0", + "gifsicle": "3.0.4", + "is-gif": "1.0.0" + } + }, + "imagemin-jpegtran": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/imagemin-jpegtran/-/imagemin-jpegtran-5.0.2.tgz", + "integrity": "sha1-5ogiY7j3kW/duABkDPddLpcNKtY=", + "dev": true, + "optional": true, + "requires": { + "exec-buffer": "3.2.0", + "is-jpg": "1.0.0", + "jpegtran-bin": "3.2.0" + } + }, + "imagemin-optipng": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz", + "integrity": "sha1-0i2kEsCfX/AKQzmWC5ioix2+hpU=", + "dev": true, + "optional": true, + "requires": { + "exec-buffer": "3.2.0", + "is-png": "1.1.0", + "optipng-bin": "3.1.4" + } + }, + "imagemin-svgo": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-5.2.2.tgz", + "integrity": "sha1-UBaZ9XiXMKV5IrhzbqFcU/e1WDg=", + "dev": true, + "optional": true, + "requires": { + "is-svg": "2.1.0", + "svgo": "0.7.2" + } + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ini": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "ip-regex": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", + "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=", + "dev": true, + "optional": true + }, + "irregular-plurals": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.3.0.tgz", + "integrity": "sha512-njf5A+Mxb3kojuHd1DzISjjIl+XhyzovXEOyPPSzdQozq/Lf2tN27mOrAAsxEPZxpn6I4MGzs1oo9TxXxPFpaA==", + "dev": true + }, + "is-absolute": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz", + "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=", + "dev": true, + "requires": { + "is-relative": "0.1.3" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-buffer": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", + "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-bzip2": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz", + "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-gif": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-1.0.0.tgz", + "integrity": "sha1-ptKumIkwB7/6l6HYwB1jIFgyCX4=", + "dev": true, + "optional": true + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-gzip": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", + "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=", + "dev": true + }, + "is-jpg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-1.0.0.tgz", + "integrity": "sha1-KVnBfnNDDbOCZNp1uQ3VTy2G2hw=", + "dev": true, + "optional": true + }, + "is-natural-number": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz", + "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=", + "dev": true + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-png": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz", + "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=", + "dev": true, + "optional": true + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-relative": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz", + "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=", + "dev": true + }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "dev": true, + "optional": true, + "requires": { + "html-comment-regex": "1.1.1" + } + }, + "is-tar": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz", + "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=", + "dev": true + }, + "is-url": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.2.tgz", + "integrity": "sha1-SYkFpZO/R8wtnn9zg3K792lsfyY=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-valid-glob": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz", + "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=", + "dev": true + }, + "is-zip": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz", + "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "jpegtran-bin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-3.2.0.tgz", + "integrity": "sha1-9g7PSumZwL2tLp+83ytvCYHnops=", + "dev": true, + "optional": true, + "requires": { + "bin-build": "2.2.0", + "bin-wrapper": "3.0.2", + "logalot": "2.1.0" + } + }, + "js-yaml": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz", + "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=", + "dev": true, + "requires": { + "argparse": "1.0.9", + "esprima": "2.7.3" + } + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + }, + "lazy-req": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz", + "integrity": "sha1-va6+rTD42CQDnODOFJ1Nqge6H6w=", + "dev": true, + "optional": true + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "requires": { + "readable-stream": "2.3.3" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "livereload-js": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz", + "integrity": "sha1-bIclfmSKtHW8JOoldFftzB+NC8I=", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "3.0.1" + } + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "3.9.1", + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" + } + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "3.0.1", + "lodash._basetostring": "3.0.1", + "lodash._basevalues": "3.0.0", + "lodash._isiterateecall": "3.0.9", + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0", + "lodash.keys": "3.1.2", + "lodash.restparam": "3.6.1", + "lodash.templatesettings": "3.1.1" + } + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0" + } + }, + "logalot": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", + "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", + "dev": true, + "optional": true, + "requires": { + "figures": "1.7.0", + "squeak": "1.3.0" + } + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true, + "optional": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "dev": true + }, + "lpad-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", + "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=", + "dev": true, + "optional": true, + "requires": { + "get-stdin": "4.0.1", + "indent-string": "2.1.0", + "longest": "1.0.1", + "meow": "3.7.0" + } + }, + "lru-cache": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "dev": true, + "optional": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "make-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz", + "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "maxmin": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz", + "integrity": "sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "figures": "1.7.0", + "gzip-size": "3.0.0", + "pretty-bytes": "3.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + } + }, + "merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "dev": true, + "requires": { + "readable-stream": "2.3.3" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "mime-db": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", + "dev": true + }, + "mime-types": { + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "dev": true, + "requires": { + "mime-db": "1.30.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "modernizr": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/modernizr/-/modernizr-3.5.0.tgz", + "integrity": "sha1-OWoCIxvcVGKLveLAgTqOiEx+gGA=", + "dev": true, + "requires": { + "doctrine": "1.2.3", + "file": "0.2.2", + "find-parent-dir": "0.3.0", + "lodash": "4.17.4", + "mkdirp": "0.5.1", + "remarkable": "1.7.1", + "requirejs": "2.1.22", + "yargs": "7.0.2" + }, + "dependencies": { + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + } + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + }, + "dependencies": { + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "1.1.14" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "node-status-codes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz", + "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=", + "dev": true + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1.1.0" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "optional": true, + "requires": { + "path-key": "2.0.1" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "optipng-bin": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-3.1.4.tgz", + "integrity": "sha1-ldNPLEiHBPb9cGBr/qDGWfHZXYQ=", + "dev": true, + "optional": true, + "requires": { + "bin-build": "2.2.0", + "bin-wrapper": "3.0.2", + "logalot": "2.1.0" + } + }, + "ordered-read-streams": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz", + "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=", + "dev": true, + "requires": { + "is-stream": "1.1.0", + "readable-stream": "2.3.3" + } + }, + "os-filter-obj": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-1.0.3.tgz", + "integrity": "sha1-WRUzDZDs7VV9LZOKMcbdIU2cY60=", + "dev": true, + "optional": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "optional": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-map": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.1.1.tgz", + "integrity": "sha1-BfXkrpegaDcbwqXMhr+9vBnErno=", + "dev": true + }, + "p-pipe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", + "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=", + "dev": true + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "parseurl": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", + "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "optional": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "plur": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz", + "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", + "dev": true, + "requires": { + "irregular-plurals": "1.3.0" + } + }, + "postcss": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.11.tgz", + "integrity": "sha512-DsnIzznNRQprsGTALpkC0xjDygo+QcOd+qVjP9+RjyzrPiyYOXBGOwoJ4rAiiE4lu6JggQ/jW4niY24WLxuncg==", + "dev": true, + "requires": { + "chalk": "2.1.0", + "source-map": "0.5.7", + "supports-color": "4.4.0" + } + }, + "postcss-value-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "pretty-bytes": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", + "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true, + "optional": true + }, + "q": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", + "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=", + "dev": true, + "optional": true + }, + "qs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz", + "integrity": "sha1-TZMuXH6kEcynajEtOaYGIA/VDNk=", + "dev": true + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "raw-body": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", + "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=", + "dev": true, + "requires": { + "bytes": "2.4.0", + "iconv-lite": "0.4.13", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", + "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", + "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", + "dev": true + } + } + }, + "rc": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", + "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", + "dev": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + } + }, + "read-all-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz", + "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1", + "readable-stream": "2.3.3" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "remarkable": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.1.tgz", + "integrity": "sha1-qspJchALZqZCpjoQIcpLrBvjv/Y=", + "dev": true, + "requires": { + "argparse": "0.1.16", + "autolinker": "0.15.3" + }, + "dependencies": { + "argparse": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", + "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", + "dev": true, + "requires": { + "underscore": "1.7.0", + "underscore.string": "2.4.0" + } + }, + "underscore.string": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", + "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "requirejs": { + "version": "2.1.22", + "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.1.22.tgz", + "integrity": "sha1-3Xj9LTQYDA1ixyS1uK68BmTgNm8=", + "dev": true + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "seek-bzip": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", + "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", + "dev": true, + "requires": { + "commander": "2.8.1" + } + }, + "semver": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", + "dev": true + }, + "semver-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", + "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=", + "dev": true, + "optional": true + }, + "semver-truncate": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", + "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", + "dev": true, + "optional": true, + "requires": { + "semver": "5.4.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "optional": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + }, + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, + "requires": { + "spdx-license-ids": "1.2.2" + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true + }, + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "squeak": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", + "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", + "dev": true, + "optional": true, + "requires": { + "chalk": "1.1.3", + "console-stream": "0.1.1", + "lpad-align": "1.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "optional": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "optional": true + } + } + }, + "stat-mode": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", + "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", + "dev": true + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true + }, + "stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", + "dev": true, + "requires": { + "duplexer2": "0.1.4", + "readable-stream": "2.3.3" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-bom-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz", + "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=", + "dev": true, + "requires": { + "first-chunk-stream": "1.0.0", + "strip-bom": "2.0.0" + } + }, + "strip-dirs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz", + "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "get-stdin": "4.0.1", + "is-absolute": "0.1.7", + "is-natural-number": "2.1.1", + "minimist": "1.2.0", + "sum-up": "1.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "optional": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "strip-outer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.0.tgz", + "integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "sum-up": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz", + "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=", + "dev": true, + "requires": { + "chalk": "1.1.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "supports-color": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + }, + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "dev": true, + "optional": true, + "requires": { + "coa": "1.0.4", + "colors": "1.1.2", + "csso": "2.3.2", + "js-yaml": "3.7.0", + "mkdirp": "0.5.1", + "sax": "1.2.4", + "whet.extend": "0.9.9" + }, + "dependencies": { + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "dev": true, + "optional": true, + "requires": { + "argparse": "1.0.9", + "esprima": "2.7.3" + } + } + } + }, + "tar-stream": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz", + "integrity": "sha1-NlSc8E7RrumyowwBQyUiONr5QBY=", + "dev": true, + "requires": { + "bl": "1.2.1", + "end-of-stream": "1.4.0", + "readable-stream": "2.3.3", + "xtend": "4.0.1" + } + }, + "temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", + "dev": true, + "optional": true + }, + "tempfile": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", + "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", + "dev": true, + "optional": true, + "requires": { + "temp-dir": "1.0.0", + "uuid": "3.1.0" + } + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "xtend": "4.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "through2-filter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", + "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", + "dev": true, + "requires": { + "through2": "2.0.3", + "xtend": "4.0.1" + }, + "dependencies": { + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.3", + "xtend": "4.0.1" + } + } + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true + }, + "timed-out": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz", + "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=", + "dev": true + }, + "tiny-lr": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz", + "integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=", + "dev": true, + "requires": { + "body-parser": "1.14.2", + "debug": "2.2.0", + "faye-websocket": "0.10.0", + "livereload-js": "2.2.2", + "parseurl": "1.3.1", + "qs": "5.1.0" + } + }, + "to-absolute-glob": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz", + "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + }, + "type-is": { + "version": "1.6.15", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", + "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "2.1.17" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", + "dev": true + }, + "underscore.string": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz", + "integrity": "sha1-gGmSYzZl1eX8tNsfs6hi62jp5to=", + "dev": true + }, + "unique-stream": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", + "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", + "dev": true, + "requires": { + "json-stable-stringify": "1.0.1", + "through2-filter": "2.0.0" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unzip-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz", + "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=", + "dev": true + }, + "uri-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", + "integrity": "sha1-l0fwGDWJM8Md4PzP2C0TjmcmLjI=", + "dev": true + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "1.0.4" + } + }, + "url-regex": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz", + "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=", + "dev": true, + "optional": true, + "requires": { + "ip-regex": "1.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", + "dev": true, + "optional": true + }, + "vali-date": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", + "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, + "requires": { + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" + } + }, + "vinyl": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", + "dev": true, + "requires": { + "clone": "1.0.2", + "clone-stats": "0.0.1", + "replace-ext": "0.0.1" + }, + "dependencies": { + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + } + } + }, + "vinyl-assign": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz", + "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "readable-stream": "2.3.3" + } + }, + "vinyl-fs": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz", + "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=", + "dev": true, + "requires": { + "duplexify": "3.5.1", + "glob-stream": "5.3.5", + "graceful-fs": "4.1.11", + "gulp-sourcemaps": "1.6.0", + "is-valid-glob": "0.3.0", + "lazystream": "1.0.0", + "lodash.isequal": "4.5.0", + "merge-stream": "1.0.1", + "mkdirp": "0.5.1", + "object-assign": "4.1.1", + "readable-stream": "2.3.3", + "strip-bom": "2.0.0", + "strip-bom-stream": "1.0.0", + "through2": "2.0.3", + "through2-filter": "2.0.0", + "vali-date": "1.0.0", + "vinyl": "1.2.0" + }, + "dependencies": { + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.3", + "xtend": "4.0.1" + } + } + } + }, + "ware": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz", + "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=", + "dev": true, + "requires": { + "wrap-fn": "0.1.5" + } + }, + "websocket-driver": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "dev": true, + "requires": { + "websocket-extensions": "0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz", + "integrity": "sha1-domUmcGEtu91Q3fC27DNbLVdKec=", + "dev": true + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "dev": true, + "optional": true + }, + "which": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", + "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + } + }, + "wrap-fn": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz", + "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=", + "dev": true, + "requires": { + "co": "3.1.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true, + "optional": true + }, + "yargs": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.0.2.tgz", + "integrity": "sha1-EVuX3xMhgj6Lhkjolox4JSEiH2c=", + "dev": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + }, + "yauzl": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.8.0.tgz", + "integrity": "sha1-eUUK/yKyqcWkHvVOAtuQfM+/nuI=", + "dev": true, + "requires": { + "buffer-crc32": "0.2.13", + "fd-slicer": "1.0.1" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..d5fe343 --- /dev/null +++ b/package.json @@ -0,0 +1,24 @@ +{ + "name": "voog-design-dorpat", + "description": "The Dorpat design template for Voog", + "repository": { + "type": "git", + "url": "git://github.com/Voog/design-dorpat.git" + }, + "devDependencies": { + "autoprefixer": "^7.2.5", + "grunt": "^1.0.1", + "grunt-contrib-clean": "^1.1.0", + "grunt-contrib-concat": "^1.0.1", + "grunt-contrib-copy": "^1.0.0", + "grunt-contrib-cssmin": "^2.2.1", + "grunt-contrib-imagemin": "^2.0.1", + "grunt-contrib-sass": "^1.0.0", + "grunt-contrib-uglify": "^3.3.0", + "grunt-contrib-watch": "^1.0.0", + "grunt-exec": "^3.0.0", + "grunt-modernizr-builder": "^0.1.9", + "grunt-postcss": "^0.9.0", + "modernizr": "^3.5.0" + } +} diff --git a/sources/assets/minify/ico-arrow-white.svg b/sources/assets/minify/ico-arrow-white.svg new file mode 100644 index 0000000..7cf4f8e --- /dev/null +++ b/sources/assets/minify/ico-arrow-white.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/sources/assets/minify/ico-arrow.svg b/sources/assets/minify/ico-arrow.svg new file mode 100644 index 0000000..a9b1685 --- /dev/null +++ b/sources/assets/minify/ico-arrow.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/sources/assets/minify/ico-flags.svg b/sources/assets/minify/ico-flags.svg new file mode 100644 index 0000000..3c4d9b9 --- /dev/null +++ b/sources/assets/minify/ico-flags.svg @@ -0,0 +1 @@ +21 x 15 px \ No newline at end of file diff --git a/sources/components/custom-styles/template-cs-button.scss b/sources/components/custom-styles/template-cs-button.scss new file mode 100644 index 0000000..7a48dae --- /dev/null +++ b/sources/components/custom-styles/template-cs-button.scss @@ -0,0 +1,103 @@ +// ============================================================================= +// TEMPLATE CUSTOM STYLES. +// This file sets the configuration for design editor tool. +// +// This file will be converted to CSS, copied under "/components" and renamed to +// "*.tpl". +// +// The output component can be included in any "layout" or "component". +// ============================================================================= + +// ============================================================================= +// Modules +// ============================================================================= +@import '../../stylesheets/modules/variables'; + +// ============================================================================= +// Design editor configuration. +// ============================================================================= +:root { + // scss-lint:disable Comment, Indentation + + /* VoogStyle + "pathI18n": ["button"], + "titleI18n": "padding", + "editor": "rangePicker", + "min": 0, + "max": 200, + "step": 1, + "unit": "px", + "scope": "global" + */ + #{--button-padding}: 30px; + + /* VoogStyle + "pathI18n": ["button"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "featured": true, + "scope": "global" + */ + #{--button-font-size}: 16px; + + /* VoogStyle + "pathI18n": ["button"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "600", + "off": "400" + }, + "icon": "bold", + "scope": "global" + */ + #{--button-font-weight}: 400; + + /* VoogStyle + "pathI18n": ["button"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + #{--button-font-style}: normal; + + /* VoogStyle + "pathI18n": ["button"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + #{--button-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["button"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + #{--button-text-transform}: uppercase; + + // scss-lint:enable Comment, Indentation +} diff --git a/sources/components/custom-styles/template-cs-content.scss b/sources/components/custom-styles/template-cs-content.scss new file mode 100644 index 0000000..8c7a18c --- /dev/null +++ b/sources/components/custom-styles/template-cs-content.scss @@ -0,0 +1,180 @@ +// ============================================================================= +// TEMPLATE CUSTOM STYLES. +// This file sets the configuration for design editor tool. +// +// This file will be converted to CSS, copied under "/components" and renamed to +// "*.tpl". +// +// The output component can be included in any "layout" or "component". +// ============================================================================= + +// ============================================================================= +// Modules +// ============================================================================= +@import '../../stylesheets/modules/variables'; + +// ============================================================================= +// Design editor configuration. +// ============================================================================= +:root { + // scss-lint:disable Comment, Indentation + + /* VoogStyle + "pathI18n": ["content", "text"], + "titleI18n": "alignment", + "editor": "listPicker", + "list": {{ base_alignment_set }}, + "scope": "global" + */ + #{--content-body-alignment}: left; + + /* VoogStyle + "pathI18n": ["content", "text"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "featured": true, + "scope": "global" + */ + #{--content-body-font-size}: 18px; + + /* VoogStyle + "pathI18n": ["content", "text"], + "titleI18n": "line_height", + "editor": "rangePicker", + "min": 1, + "max": 5, + "step": 0.1, + "unit": "", + "scope": "global" + */ + #{--content-body-line-height}: 1.7; + + /* VoogStyle + "pathI18n": ["content", "link", "normal"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "600", + "off": "400" + }, + "icon": "bold", + "scope": "global", + "boundVariables": [ + "--content-link-hover-font-weight" + ] + */ + #{--content-link-font-weight}: 400; + + /* VoogStyle + "pathI18n": ["content", "link", "hover"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "600", + "off": "400" + }, + "icon": "bold", + "scope": "global" + */ + #{--content-link-hover-font-weight}: 400; + + /* VoogStyle + "pathI18n": ["content", "link", "normal"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global", + "boundVariables": [ + "--content-link-hover-font-style" + ] + */ + #{--content-link-font-style}: normal; + + /* VoogStyle + "pathI18n": ["content", "link", "hover"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + #{--content-link-hover-font-style}: normal; + + /* VoogStyle + "pathI18n": ["content", "link", "normal"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global", + "boundVariables": [ + "--content-link-hover-text-decoration" + ] + */ + #{--content-link-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["content", "link", "hover"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + #{--content-link-hover-text-decoration}: underline; + + /* VoogStyle + "pathI18n": ["content", "link", "normal"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global", + "boundVariables": [ + "--content-link-hover-text-transform" + ] + */ + #{--content-link-text-transform}: none; + + /* VoogStyle + "pathI18n": ["content", "link", "hover"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + #{--content-link-hover-text-transform}: none; + + // scss-lint:enable Comment, Indentation +} diff --git a/sources/components/custom-styles/template-cs-footer.scss b/sources/components/custom-styles/template-cs-footer.scss new file mode 100644 index 0000000..c2ac991 --- /dev/null +++ b/sources/components/custom-styles/template-cs-footer.scss @@ -0,0 +1,91 @@ +// ============================================================================= +// TEMPLATE CUSTOM STYLES. +// This file sets the configuration for design editor tool. +// +// This file will be converted to CSS, copied under "/components" and renamed to +// "*.tpl". +// +// The output component can be included in any "layout" or "component". +// ============================================================================= + +// ============================================================================= +// Modules +// ============================================================================= +@import '../../stylesheets/modules/variables'; + +// ============================================================================= +// Design editor configuration. +// ============================================================================= +:root { + // scss-lint:disable Comment, Indentation + + /* VoogStyle + "pathI18n": ["footer"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "featured": true, + "scope": "global" + */ + #{--footer-body-font-size}: 14px; + + /* VoogStyle + "pathI18n": ["footer"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "600", + "off": "400" + }, + "icon": "bold", + "scope": "global" + */ + #{--footer-body-font-weight}: 400; + + /* VoogStyle + "pathI18n": ["footer"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + #{--footer-body-font-style}: normal; + + /* VoogStyle + "pathI18n": ["footer"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + #{--footer-body-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["footer"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + #{--footer-body-text-transform}: none; + + // scss-lint:enable Comment, Indentation +} diff --git a/sources/components/custom-styles/template-cs-form.scss b/sources/components/custom-styles/template-cs-form.scss new file mode 100644 index 0000000..b4a2a55 --- /dev/null +++ b/sources/components/custom-styles/template-cs-form.scss @@ -0,0 +1,103 @@ +// ============================================================================= +// TEMPLATE CUSTOM STYLES. +// This file sets the configuration for design editor tool. +// +// This file will be converted to CSS, copied under "/components" and renamed to +// "*.tpl". +// +// The output component can be included in any "layout" or "component". +// ============================================================================= + +// ============================================================================= +// Modules +// ============================================================================= +@import '../../stylesheets/modules/variables'; + +// ============================================================================= +// Design editor configuration. +// ============================================================================= +:root { + // scss-lint:disable Comment, Indentation + + /* VoogStyle + "pathI18n": ["form"], + "titleI18n": "label_size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "scope": "global", + "featured": true + */ + #{--form-label-font-size}: 14px; + + /* VoogStyle + "pathI18n": ["form"], + "titleI18n": "field_size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "scope": "global", + "featured": true + */ + #{--form-field-font-size}: 16px; + + /* VoogStyle + "pathI18n": ["form"], + "titleI18n": "font_weight", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + #{--form-field-font-weight}: 300; + + /* VoogStyle + "pathI18n": ["form"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + #{--form-field-font-style}: normal; + + /* VoogStyle + "pathI18n": ["form"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + #{--form-field-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["form"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + #{--form-field-text-transform}: none; + + // scss-lint:enable Comment, Indentation +} diff --git a/sources/components/custom-styles/template-cs-header-front.scss b/sources/components/custom-styles/template-cs-header-front.scss new file mode 100644 index 0000000..63fa847 --- /dev/null +++ b/sources/components/custom-styles/template-cs-header-front.scss @@ -0,0 +1,295 @@ +// ============================================================================= +// TEMPLATE CUSTOM STYLES. +// This file sets the configuration for design editor tool. +// +// This file will be converted to CSS, copied under "/components" and renamed to +// "*.tpl". +// +// The output component can be included in any "layout" or "component". +// ============================================================================= + +// ============================================================================= +// Modules +// ============================================================================= +@import '../../stylesheets/modules/variables'; + +// ============================================================================= +// Design editor configuration. +// ============================================================================= +:root { + // scss-lint:disable Comment, Indentation + + /* VoogStyle + "pathI18n": ["header"], + "titleI18n": "background_color", + "editor": "colorPicker", + "scope": "global" + */ + #{--header-background-color}: transparent; + + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "featured": true, + "scope": "global" + */ + #{--header-body-font-size}: 22px; + + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + #{--header-body-font-weight}: 300; + + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + #{--header-body-font-style}: normal; + + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + #{--header-body-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + #{--header-body-text-transform}: none; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "normal"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global", + "boundVariables": [ + "--menu-main-hover-font-weight", + "--menu-main-active-font-weight" + ] + */ + #{--menu-main-font-weight}: 300; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "hover"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global", + "boundVariables": [ + "--menu-main-active-font-weight" + ] + */ + #{--menu-main-hover-font-weight}: 300; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "active"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + #{--menu-main-active-font-weight}: 500; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "normal"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global", + "boundVariables": [ + "--menu-main-hover-font-style", + "--menu-main-active-font-style" + ] + */ + #{--menu-main-font-style}: normal; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "hover"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global", + "boundVariables": [ + "--menu-main-active-font-style" + ] + */ + #{--menu-main-hover-font-style}: normal; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "active"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + #{--menu-main-active-font-style}: normal; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "normal"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global", + "boundVariables": [ + "--menu-main-hover-text-decoration", + "--menu-main-active-text-decoration" + ] + */ + #{--menu-main-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "hover"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global", + "boundVariables": [ + "--menu-main-active-text-decoration" + ] + */ + #{--menu-main-hover-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "active"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + #{--menu-main-active-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "normal"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global", + "boundVariables": [ + "--menu-main-hover-text-transform", + "--menu-main-active-text-transform" + ] + */ + #{--menu-main-text-transform}: uppercase; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "hover"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global", + "boundVariables": [ + "--menu-main-active-text-transform" + ] + */ + #{--menu-main-hover-text-transform}: uppercase; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "active"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + #{--menu-main-active-text-transform}: uppercase; + + // scss-lint:enable Comment, Indentation +} diff --git a/sources/components/custom-styles/template-cs-header.scss b/sources/components/custom-styles/template-cs-header.scss new file mode 100644 index 0000000..63fa847 --- /dev/null +++ b/sources/components/custom-styles/template-cs-header.scss @@ -0,0 +1,295 @@ +// ============================================================================= +// TEMPLATE CUSTOM STYLES. +// This file sets the configuration for design editor tool. +// +// This file will be converted to CSS, copied under "/components" and renamed to +// "*.tpl". +// +// The output component can be included in any "layout" or "component". +// ============================================================================= + +// ============================================================================= +// Modules +// ============================================================================= +@import '../../stylesheets/modules/variables'; + +// ============================================================================= +// Design editor configuration. +// ============================================================================= +:root { + // scss-lint:disable Comment, Indentation + + /* VoogStyle + "pathI18n": ["header"], + "titleI18n": "background_color", + "editor": "colorPicker", + "scope": "global" + */ + #{--header-background-color}: transparent; + + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "featured": true, + "scope": "global" + */ + #{--header-body-font-size}: 22px; + + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + #{--header-body-font-weight}: 300; + + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + #{--header-body-font-style}: normal; + + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + #{--header-body-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["header", "title", "normal"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + #{--header-body-text-transform}: none; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "normal"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global", + "boundVariables": [ + "--menu-main-hover-font-weight", + "--menu-main-active-font-weight" + ] + */ + #{--menu-main-font-weight}: 300; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "hover"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global", + "boundVariables": [ + "--menu-main-active-font-weight" + ] + */ + #{--menu-main-hover-font-weight}: 300; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "active"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + #{--menu-main-active-font-weight}: 500; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "normal"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global", + "boundVariables": [ + "--menu-main-hover-font-style", + "--menu-main-active-font-style" + ] + */ + #{--menu-main-font-style}: normal; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "hover"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global", + "boundVariables": [ + "--menu-main-active-font-style" + ] + */ + #{--menu-main-hover-font-style}: normal; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "active"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + #{--menu-main-active-font-style}: normal; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "normal"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global", + "boundVariables": [ + "--menu-main-hover-text-decoration", + "--menu-main-active-text-decoration" + ] + */ + #{--menu-main-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "hover"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global", + "boundVariables": [ + "--menu-main-active-text-decoration" + ] + */ + #{--menu-main-hover-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "active"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + #{--menu-main-active-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "normal"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global", + "boundVariables": [ + "--menu-main-hover-text-transform", + "--menu-main-active-text-transform" + ] + */ + #{--menu-main-text-transform}: uppercase; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "hover"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global", + "boundVariables": [ + "--menu-main-active-text-transform" + ] + */ + #{--menu-main-hover-text-transform}: uppercase; + + /* VoogStyle + "pathI18n": ["header", "main_menu", "active"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + #{--menu-main-active-text-transform}: uppercase; + + // scss-lint:enable Comment, Indentation +} diff --git a/sources/components/custom-styles/template-cs-headings.scss b/sources/components/custom-styles/template-cs-headings.scss new file mode 100644 index 0000000..0e61eda --- /dev/null +++ b/sources/components/custom-styles/template-cs-headings.scss @@ -0,0 +1,290 @@ +// ============================================================================= +// TEMPLATE CUSTOM STYLES. +// This file sets the configuration for design editor tool. +// +// This file will be converted to CSS, copied under "/components" and renamed to +// "*.tpl". +// +// The output component can be included in any "layout" or "component". +// ============================================================================= + +// ============================================================================= +// Modules +// ============================================================================= +@import '../../stylesheets/modules/variables'; + +// ============================================================================= +// Design editor configuration. +// ============================================================================= +:root { + // scss-lint:disable Comment, Indentation + + /* VoogStyle + "pathI18n": ["headings", "title"], + "titleI18n": "alignment", + "editor": "listPicker", + "list": {{ base_alignment_set }}, + "scope": "global" + */ + #{--headings-title-text-alignment}: left; + + /* VoogStyle + "pathI18n": ["headings", "title"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "featured": true, + "scope": "global" + */ + #{--headings-title-font-size}: 32px; + + /* VoogStyle + "pathI18n": ["headings", "title"], + "titleI18n": "line_height", + "editor": "rangePicker", + "min": 1, + "max": 5, + "step": 0.1, + "unit": "", + "scope": "global" + */ + #{--headings-title-line-height}: 1.4; + + /* VoogStyle + "pathI18n": ["headings", "title"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + #{--headings-title-font-weight}: 300; + + /* VoogStyle + "pathI18n": ["headings", "title"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + #{--headings-title-font-style}: normal; + + /* VoogStyle + "pathI18n": ["headings", "title"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + #{--headings-title-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["headings", "title"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + #{--headings-title-text-transform}: none; + + /* VoogStyle + "pathI18n": ["headings", "heading"], + "titleI18n": "alignment", + "editor": "listPicker", + "list": {{ base_alignment_set }}, + "scope": "global" + */ + #{--headings-heading-text-alignment}: left; + + /* VoogStyle + "pathI18n": ["headings", "heading"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "featured": true, + "scope": "global" + */ + #{--headings-heading-font-size}: 26px; + + /* VoogStyle + "pathI18n": ["headings", "heading"], + "titleI18n": "line_height", + "editor": "rangePicker", + "min": 1, + "max": 5, + "step": 0.1, + "unit": "", + "scope": "global" + */ + #{--headings-heading-line-height}: 1.4; + + /* VoogStyle + "pathI18n": ["headings", "heading"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + #{--headings-heading-font-weight}: 300; + + /* VoogStyle + "pathI18n": ["headings", "heading"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + #{--headings-heading-font-style}: normal; + + /* VoogStyle + "pathI18n": ["headings", "heading"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + #{--headings-heading-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["headings", "heading"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + #{--headings-heading-text-transform}: none; + + /* VoogStyle + "pathI18n": ["headings", "subheading"], + "titleI18n": "alignment", + "editor": "listPicker", + "list": {{ base_alignment_set }}, + "scope": "global" + */ + #{--headings-subheading-text-alignment}: left; + + /* VoogStyle + "pathI18n": ["headings", "subheading"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "featured": true, + "scope": "global" + */ + #{--headings-subheading-font-size}: 24px; + + /* VoogStyle + "pathI18n": ["headings", "subheading"], + "titleI18n": "line_height", + "editor": "rangePicker", + "min": 1, + "max": 5, + "step": 0.1, + "unit": "", + "scope": "global" + */ + #{--headings-subheading-line-height}: 1.4; + + /* VoogStyle + "pathI18n": ["headings", "subheading"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + #{--headings-subheading-font-weight}: 300; + + /* VoogStyle + "pathI18n": ["headings", "subheading"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + #{--headings-subheading-font-style}: normal; + + /* VoogStyle + "pathI18n": ["headings", "subheading"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + #{--headings-subheading-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["headings", "subheading"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + #{--headings-subheading-text-transform}: none; + + // scss-lint:enable Comment, Indentation +} diff --git a/sources/components/custom-styles/template-cs-main-styles.scss b/sources/components/custom-styles/template-cs-main-styles.scss new file mode 100644 index 0000000..577a1ec --- /dev/null +++ b/sources/components/custom-styles/template-cs-main-styles.scss @@ -0,0 +1,68 @@ +// ============================================================================= +// TEMPLATE CUSTOM STYLES. +// This file sets the configuration for design editor tool. +// +// This file will be converted to CSS, copied under "/components" and renamed to +// "*.tpl". +// +// The output component can be included in any "layout" or "component". +// ============================================================================= + +// ============================================================================= +// Modules +// ============================================================================= +@import '../../stylesheets/modules/variables'; + +// ============================================================================= +// Design editor configuration. +// ============================================================================= +:root { + // scss-lint:disable Comment, Indentation + + /* VoogStyle + "pathI18n": ["main_styles"], + "titleI18n": "font", + "editor": "listPicker", + "list": {{ base_font_set }}, + "featured": true, + "scope": "global", + "boundVariables": [ + ] + */ + #{--main-font-family}: $font-main; + + /* VoogStyle + "pathI18n": ["main_styles", "colors"], + "titleI18n": "primary_color", + "editor": "colorPicker", + "featured": true, + "scope": "global", + "boundVariables": [ + ] + */ + #{--primary-color}: rgba($black, .7); + + /* VoogStyle + "pathI18n": ["main_styles", "colors"], + "titleI18n": "secondary_color", + "editor": "colorPicker", + "featured": true, + "scope": "global", + "boundVariables": [ + ] + */ + #{--secondary-color}: rgba($black, 1); + + /* VoogStyle + "pathI18n": ["main_styles", "colors"], + "titleI18n": "third_color", + "editor": "colorPicker", + "featured": true, + "scope": "global", + "boundVariables": [ + ] + */ + #{--third-color}: rgba($white, 1); + + // scss-lint:enable Comment, Indentation +} diff --git a/sources/components/custom-styles/template-cs-sidebar.scss b/sources/components/custom-styles/template-cs-sidebar.scss new file mode 100644 index 0000000..f405be2 --- /dev/null +++ b/sources/components/custom-styles/template-cs-sidebar.scss @@ -0,0 +1,221 @@ +// ============================================================================= +// TEMPLATE CUSTOM STYLES. +// This file sets the configuration for design editor tool. +// +// This file will be converted to CSS, copied under "/components" and renamed to +// "*.tpl". +// +// The output component can be included in any "layout" or "component". +// ============================================================================= + +// ============================================================================= +// Modules +// ============================================================================= +@import '../../stylesheets/modules/variables'; + +// ============================================================================= +// Design editor configuration. +// ============================================================================= +:root { + // scss-lint:disable Comment, Indentation + + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "normal"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global", + "boundVariables": [ + "--menu-sub-hover-font-weight", + "--menu-sub-active-font-weight" + ] + */ + #{--menu-sub-font-weight}: 300; + + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "hover"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global", + "boundVariables": [ + "--menu-sub-active-font-weight" + ] + */ + #{--menu-sub-hover-font-weight}: 300; + + + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "active"], + "titleI18n": "font_size", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "500", + "off": "300" + }, + "icon": "bold", + "scope": "global" + */ + #{--menu-sub-active-font-weight}: 500; + + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "normal"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global", + "boundVariables": [ + "--menu-sub-hover-font-style", + "--menu-sub-active-font-style" + ] + */ + #{--menu-sub-font-style}: normal; + + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "hover"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global", + "boundVariables": [ + "--menu-sub-active-font-style" + ] + */ + #{--menu-sub-hover-font-style}: normal; + + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "active"], + "titleI18n": "font_style", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "italic", + "off": "normal" + }, + "icon": "italic", + "scope": "global" + */ + #{--menu-sub-active-font-style}: normal; + + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "normal"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global", + "boundVariables": [ + "--menu-sub-hover-text-decoration", + "--menu-sub-active-text-decoration" + ] + */ + #{--menu-sub-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "hover"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global", + "boundVariables": [ + "--menu-sub-active-text-decoration" + ] + */ + #{--menu-sub-hover-text-decoration}: none; + + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "active"], + "titleI18n": "text_decoration", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "underline", + "off": "none" + }, + "icon": "underline", + "scope": "global" + */ + #{--menu-sub-active-text-decoration}: none; + + + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "normal"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global", + "boundVariables": [ + "--menu-sub-hover-text-transform", + "--menu-sub-active-text-transform" + ] + */ + #{--menu-sub-text-transform}: none; + + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "hover"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global", + "boundVariables": [ + "--menu-sub-active-text-transform" + ] + */ + #{--menu-sub-hover-text-transform}: none; + + /* VoogStyle + "pathI18n": ["sidebar", "sub_menu", "active"], + "titleI18n": "text_transform", + "type": "button", + "editor": "toggleIcon", + "states": { + "on": "uppercase", + "off": "none" + }, + "icon": "uppercase", + "scope": "global" + */ + #{--menu-sub-active-text-transform}: none; + + // scss-lint:enable Comment, Indentation +} diff --git a/sources/components/custom-styles/template-cs-style-rules.scss b/sources/components/custom-styles/template-cs-style-rules.scss new file mode 100644 index 0000000..61c7ff7 --- /dev/null +++ b/sources/components/custom-styles/template-cs-style-rules.scss @@ -0,0 +1,863 @@ +// ============================================================================= +// TEMPLATE CUSTOM STYLES. +// This file sets the configuration for design editor tool. +// +// This file will be converted to CSS, copied under "/components" and renamed to +// "*.tpl". +// +// The output component can be included in any "layout" or "component". +// ============================================================================= + +// ============================================================================= +// Modules +// ============================================================================= +@import '../../../bower_components/bourbon/app/assets/stylesheets/bourbon'; +@import '../../stylesheets/modules/variables'; + +// ============================================================================= +// Default stylesheet override styles. +// +// BASICS +// ============================================================================= +body { + font-family: var(--main-font-family); +} + +.dark-background { + color: var(--third-color); + + .content-area { + h1, + h2, + h3, + h4, + h5, + h6, + p, + ul, + ol, + dl, + pre, + table { + color: var(--third-color); + } + } + + .site-footer & { + a, + b { + color: var(--third-color); + } + } + + .header-title a, + .header-title a:hover { + color: var(--third-color); + } + + .menu li a:not(.untranslated) { + color: var(--third-color); + } + + .menu li.selected a { + color: var(--third-color); + } + + .lang-title { + color: var(--third-color); + } + + .lang-menu { + &.menu-language-list { + .lang-title a { + color: var(--third-color); + + &.is-active, + &:hover { + color: var(--third-color); + } + } + + .lang-title a.selected { + color: var(--third-color); + } + } + } + + .voog-reference svg path { + fill: var(--third-color); + } + + .site-options .search-btn svg path { + fill: var(--third-color); + + @media screen and (max-width: $tablet-3) { + .search-open & { + fill: var(--primary-color); + } + } + } +} + +.light-background { + color: var(--secondary-color); + + h1, h2, h3, h4 { + color: var(--secondary-color); + } + .site-header & { + a { + color: var(--secondary-color); + } + + .header-title a, + .header-title a:hover { + color: var(--secondary-color); + } + + .menu li a { + color: var(--secondary-color); + + &:hover { + color: var(--secondary-color); + } + } + + .menu li.selected a { + color: var(--secondary-color); + } + } + + .site-footer & { + color: var(--primary-color); + } + .lang-title { + color: var(--secondary-color); + } + + .menu-language-list { + .lang-title a { + &:hover { + color: var(--secondary-color); + } + } + + .lang-title a.selected { + color: var(--secondary-color); + } + } + + .site-options .search-btn svg path { + fill: var(--secondary-color); + } +} + +// ============================================================================= +// BLOG & NEWS LAYOUT +// ============================================================================= +.blog-news-page { + .article-title { + a { + color: var(--secondary-color); + } + } + + .article-author, + .article-date { + color: var(--secondary-color); + + .dark-background & { + color: rgba($white, .35); + } + } + + .article-excerpt { + color: var(--primary-color); + } + + @media screen and (max-width: $tablet-3) { + .article-header { + margin: 0; + } + } + + .articles-listing { + .blog-article { + .article-date { + color: var(--secondary-color); + } + } + } + + .dark-background { + .article-author, + .article-date, + .articles-listing .article-date { + color: rgba($white, .35); + } + } +} + +// ============================================================================= +// BLOG ARTICLE LAYOUT +// ============================================================================= +.blog-article-page { + .article-excerpt, + .article-body { + color: var(--primary-color); + } + + .comments-title { + color: var(--secondary-color); + } + + .dark-background { + .comments-title { + color: var(--third-color); + } + } + + .main-content { + .article-author, + .article-date { + color: var(--secondary-color); + } + } + + .dark-background { + .article-author, + .article-date { + color: var(--third-color); + } + } + + .light-background { + .article-author, + .article-date { + color: var(--secondary-color); + } + } +} + +// ============================================================================= +// BLOG ARTICLE COMMENTS +// ============================================================================= +.article-comments { + .comments-body { + @media screen and (max-width: $tablet-3) { + .comments-open & { + background-color: var(--third-color); + } + } + + .comments-title { + color: var(--secondary-color); + + .comments-count { + color: var(--secondary-color); + } + } + } + + .comment { + color: var(--primary-color); + + .comment-author, + .comment-date { + color: var(--secondary-color); + } + } + + .comments-close { + &.dark-background { + .btn-close { + background-color: var(--third-color); + + .ico-close { + fill: var(--secondary-color); + } + } + } + + .btn-close { + background-color: var(--secondary-color); + + @media screen and (max-width: $tablet-2) { + background-color: var(--third-color); + } + + .ico-close { + fill: var(--third-color); + + @media screen and (max-width: $tablet-2) { + fill: var(--primary-color); + + &:hover { + fill: var(--primary-color); + } + } + } + } + } +} + +// ============================================================================= +// NAVIGATION MENUS +// ============================================================================= +.menu-main { + a { + font-style: var(--menu-main-font-style); + font-weight: var(--menu-main-font-weight); + text-decoration: var(--menu-main-text-decoration); + text-transform: var(--menu-main-text-transform); + + &:hover { + font-style: var(--menu-main-hover-font-style); + font-weight: var(--menu-main-hover-font-weight); + text-decoration: var(--menu-main-hover-text-decoration); + text-transform: var(--menu-main-hover-text-transform); + } + } + + .selected, + .current { + a { + font-style: var(--menu-main-active-font-style); + font-weight: var(--menu-main-active-font-weight); + text-decoration: var(--menu-main-active-text-decoration); + text-transform: var(--menu-main-active-text-transform); + } + } +} + +@media screen and (max-width: $tablet-1) { + .mobile-menu-toggler { + span { + &, + &:before, + &:after { + background-color: var(--secondary-color); + + .dark-background & { + background-color: var(--third-color); + } + + .language-flags-disabled & { + .lang-menu-btn { + .lang-title { + color: var(--third-color); + } + } + } + } + } + } + + #mobile-menu { + .search-open-btn { + svg { + fill: var(--secondary-color); + } + } + + .navigation-menu { + > ul { + > li { + > a { + font-style: var(--menu-main-font-style); + font-weight: var(--menu-main-font-weight); + text-decoration: var(--menu-main-text-decoration); + text-transform: var(--menu-main-text-transform); + + &:hover { + font-style: var(--menu-main-hover-font-style); + font-weight: var(--menu-main-hover-font-weight); + text-decoration: var(--menu-main-hover-text-decoration); + text-transform: var(--menu-main-hover-text-transform); + } + + &.selected, + &.current { + font-style: var(--menu-main-active-font-style); + font-weight: var(--menu-main-active-font-weight); + text-decoration: var(--menu-main-active-text-decoration); + text-transform: var(--menu-main-active-text-transform); + } + } + } + } + + .sub-menu { + a { + font-style: var(--menu-sub-font-style); + font-weight: var(--menu-sub-font-weight); + text-decoration: var(--menu-sub-text-decoration); + text-transform: var(--menu-sub-text-transform); + + &:hover { + font-style: var(--menu-sub-hover-font-style); + font-weight: var(--menu-sub-hover-font-weight); + text-decoration: var(--menu-sub-hover-text-decoration); + text-transform: var(--menu-sub-hover-text-transform); + } + + &.selected, + &.current { + font-style: var(--menu-sub-active-font-style); + font-weight: var(--menu-sub-active-font-weight); + text-decoration: var(--menu-sub-active-text-decoration); + text-transform: var(--menu-sub-active-text-transform); + } + } + } + } + } +} + +.lang-flag:before { + background-color: var(--secondary-color); +} + +/* langmenu */ +.lang-menu { + &.menu-language-list { + .lang-title { + a { + &.is-active { + color: var(--secondary-color); + } + } + } + } + + li { + a { + color: var(--primary-color); + } + } + + a { + &.lang-flag { + .dark-background &, + .light-background & { + color: var(--secondary-color); + + &:hover { + color: var(--secondary-color); + } + } + } + } +} + +.lang-menu-btn { + .lang-title-inner { + &:after { + border-color: var(--secondary-color) transparent transparent transparent; + + .dark-background & { + border-color: var(--third-color) transparent transparent transparent; + } + } + } +} + +//============================================================================== +// SITE SIDEBAR +//============================================================================== +.site-sidebar { + .sidebar-title { + a { + color: var(--secondary-color); + + .dark-background & { + color: var(--third-color); + } + } + } + + .submenu { + a { + font-weight: var(--menu-sub-font-weight); + font-style: var(--menu-sub-font-style); + text-decoration: var(--menu-sub-text-decoration); + text-transform: var(--menu-sub-text-transform); + color: var(--secondary-color); + + &:hover { + font-weight: var(--menu-sub-hover-font-weight); + font-style: var(--menu-sub-hover-font-style); + text-decoration: var(--menu-sub-hover-text-decoration); + text-transform: var(--menu-sub-hover-text-transform); + } + + .dark-background & { + color: var(--third-color); + } + } + + .selected, + .current { + &, + a { + font-weight: var(--menu-sub-active-font-weight); + font-style: var(--menu-sub-active-font-style); + text-decoration: var(--menu-sub-active-text-decoration); + text-transform: var(--menu-sub-active-text-transform); + } + } + + .selected { + color: var(--secondary-color); + + .dark-background & { + color: var(--third-color); + } + } + + .submenu-lvl2 { + a { + color: var(--secondary-color); + + .dark-background & { + color: var(--third-color); + } + } + .selected { + .dark-background & { + color: var(--third-color); + } + } + } + } +} + +// ============================================================================= +// SITE FOOTER +// ============================================================================= +.site-footer { + .dark-background { + .content-area { + a { + color: var(--third-color); + } + } + } + + .voog-reference { + color: var(--secondary-color); + } + + .blog-article-nav { + .article-nav-direction { + color: var(--secondary-color); + } + + .article-nav-title { + color: var(--secondary-color); + } + + &.dark-background { + .article-nav-title { + color: var(--third-color); + } + + .article-nav-direction { + color: var(--third-color); + } + } + } +} + +// ============================================================================= +// TEXT TYPE CONTENT AREA +// ============================================================================= +.header-top { + background-color: var(--header-background-color); +} + +.content-area { + font-size: var(--content-body-font-size); + line-height: var(--content-body-line-height); + color: var(--primary-color); + + .dark-background & { + color: var(--third-color); + + .site-footer & { + color: var(--third-color); + } + } + + .site-footer & { + font-size: var(--footer-body-font-size); + font-style: var(--footer-body-font-style); + font-weight: var(--footer-body-font-weight); + color: var(--primary-color); + text-decoration: var(--footer-body-text-decoration); + text-transform: var(--footer-body-text-transform); + } + + &.header-title { + &, + & a, + & a:hover { + font-size: var(--header-body-font-size); + font-style: var(--header-body-font-style); + font-weight: var(--header-body-font-weight); + text-decoration: var(--header-body-text-decoration); + text-transform: var(--header-body-text-transform); + } + } + + .header-bottom &, .page-body & { + text-align: var(--content-body-alignment); + } + + // Styling rules for the editable content area headings and paragraphs. + h1, + h2, + h3, + h4, + h5, + h6, + p, + ul, + ol, + pre, + code, + table { + .dark-background & { + color: var(--third-color); + } + } + + // Styling rules for the editable content area headings. + h1, + h2, + h3, + h4, + h5, + h6 { + color: var(--secondary-color); + + a { + color: var(--secondary-color); + } + } + + // Styling rules for the editable content area paragraphs, lists and links. + p, + ul, + ol, + dl { + font-size: var(--content-body-font-size); + + .site-footer & { + color: var(--primary-color); + } + + .dark-background & { + .site-footer & { + color: var(--third-color); + } + } + } + + h1 { + &, + a, + a:hover { + text-align: var(--headings-title-text-alignment); + line-height: var(--headings-title-line-height); + font-size: var(--headings-title-font-size); + font-weight: var(--headings-title-font-weight); + font-style: var(--headings-title-font-style); + text-decoration: var(--headings-title-text-decoration); + text-transform: var(--headings-title-text-transform); + } + } + + h2 { + font-size: var(--headings-heading-font-size); + line-height: var(--headings-heading-line-height); + text-transform: var(--headings-heading-text-transform); + + &, + a, + a:hover { + text-align: var(--headings-heading-text-alignment); + font-weight: var(--headings-heading-font-weight); + font-style: var(--headings-heading-font-style); + text-decoration: var(--headings-heading-text-decoration); + } + } + + h3, + h4, + h5, + h6 { + &, + a, + a:hover { + text-align: var(--headings-subheading-text-alignment); + line-height: var(--headings-subheading-line-height); + font-size: var(--headings-subheading-font-size); + font-weight: var(--headings-subheading-font-weight); + font-style: var(--headings-subheading-font-style); + text-decoration: var(--headings-subheading-text-decoration); + text-transform: var(--headings-subheading-text-transform); + } + } + + a { + font-style: var(--content-link-font-style); + font-weight: var(--content-link-font-weight); + color: var(--secondary-color); + text-decoration: var(--content-link-text-decoration); + text-transform: var(--content-link-text-transform); + + &:hover { + font-style: var(--content-link-hover-font-style); + font-weight: var(--content-link-hover-font-weight); + text-decoration: var(--content-link-hover-text-decoration); + text-transform: var(--content-link-hover-text-transform); + } + + .dark-background & { + color: var(--third-color); + } + } + + // Code blocks and preformatted content. + a.custom-btn, div.custom-btn { + padding: calc(var(--button-padding) - 18px) var(--button-padding) calc(var(--button-padding) - 17px); + font-size: var(--button-font-size); + font-style: var(--button-font-style); + font-weight: var(--button-font-weight); + text-decoration: var(--button-text-decoration); + text-transform: var(--button-text-transform); + + &:hover { + .dark-background & { + border-color: var(--third-color); + background-color: var(--third-color); + color: var(--primary-color); + } + + .light-background & { + border-color: var(--secondary-color); + background-color: var(--secondary-color); + color: var(--third-color); + } + } + + .dark-background & { + border-color: var(--third-color); + color: var(--third-color); + } + + .light-background & { + border-color: var(--secondary-color); + color: var(--secondary-color); + } + } + + table { + th, td { + padding: calc(var(--table-padding) - 4px) var(--table-padding); + font-size: var(--table-font-size); + border-style: var(--table-border-style); + + .dark-background & { + border-style: var(--table-border-style); + } + + .light-background & { + border-style: var(--table-border-style); + } + } + + th { + color: var(--third-color); + background-color: var(--secondary-color); + } + + .contacts & { + tr { + td { + color: var(--primary-color); + } + } + } + } +} + +//============================================================================== +// "FORM" TYPE CONTENT AREA +//============================================================================== +.content-area { + + .form_field { + .form_field_label, + .edy-fe-label { + font-size: var(--form-label-font-size); + } + } + + .form_field_textfield, + .form_field_textarea, + label:not(.form_field_label) { + font-style: var(--form-field-font-style); + font-weight: var(--form-field-font-weight); + font-size: var(--form-field-font-size); + text-decoration: var(--form-field-text-decoration); + text-transform: var(--form-field-text-transform); + } + + .dark-background & { + .form_field_textfield, + .form_field_textarea, + .form_field_select { + color: var(--third-color); + border-color: var(--third-color); + + &::placeholder { + color: var(--third-color); + } + } + } + + .light-background & { + .form_field_textfield, + .form_field_textarea, + .form_field_select { + color: var(--primary-color); + + &::placeholder { + color: var(--primary-color); + } + } + } + + .form_submit { + input { + padding: calc(var(--button-padding) - 18px) var(--button-padding) calc(var(--button-padding) - 17px); + font-size: var(--button-font-size); + font-style: var(--button-font-style); + font-weight: var(--button-font-weight); + text-decoration: var(--button-text-decoration); + text-transform: var(--button-text-transform); + + .dark-background & { + color: var(--secondary-color); + background-color: var(--third-color); + } + + .light-background & { + color: var(--third-color); + background-color: var(--secondary-color); + } + } + } +} diff --git a/sources/components/custom-styles/template-cs-table.scss b/sources/components/custom-styles/template-cs-table.scss new file mode 100644 index 0000000..9b65938 --- /dev/null +++ b/sources/components/custom-styles/template-cs-table.scss @@ -0,0 +1,56 @@ +// ============================================================================= +// TEMPLATE CUSTOM STYLES. +// This file sets the configuration for design editor tool. +// +// This file will be converted to CSS, copied under "/components" and renamed to +// "*.tpl". +// +// The output component can be included in any "layout" or "component". +// ============================================================================= + +// ============================================================================= +// Modules +// ============================================================================= +@import '../../stylesheets/modules/variables'; + +// ============================================================================= +// Design editor configuration. +// ============================================================================= +:root { + // scss-lint:disable Comment, Indentation + + /* VoogStyle + "pathI18n": ["table"], + "titleI18n": "padding", + "editor": "rangePicker", + "min": 0, + "max": 200, + "step": 1, + "unit": "px", + "scope": "global" + */ + #{--table-padding}: 13px; + + /* VoogStyle + "pathI18n": ["table"], + "titleI18n": "size", + "editor": "rangePicker", + "min": 8, + "max": 100, + "unit": "px", + "scope": "global" + */ + #{--table-font-size}: 16px; + + /* VoogStyle + "pathI18n": ["table"], + "titleI18n": "border_style", + "editor": "listPicker", + "list": {{ base_border_style_set }}, + "featured": true, + "scope": "global" + */ + #{--table-border-style}: solid; + + // scss-lint:enable Comment, Indentation +} diff --git a/sources/components/readme.md b/sources/components/readme.md new file mode 100644 index 0000000..54b1a85 --- /dev/null +++ b/sources/components/readme.md @@ -0,0 +1 @@ +These files will be converted to `*.tpl` under `/components` folder. diff --git a/sources/images/minify/article-header-bg.jpg b/sources/images/minify/article-header-bg.jpg new file mode 100644 index 0000000..bbc0702 Binary files /dev/null and b/sources/images/minify/article-header-bg.jpg differ diff --git a/sources/images/minify/article-header-bg_block.jpg b/sources/images/minify/article-header-bg_block.jpg new file mode 100644 index 0000000..d669499 Binary files /dev/null and b/sources/images/minify/article-header-bg_block.jpg differ diff --git a/sources/images/minify/article-header-bg_huge.jpg b/sources/images/minify/article-header-bg_huge.jpg new file mode 100644 index 0000000..ed9c754 Binary files /dev/null and b/sources/images/minify/article-header-bg_huge.jpg differ diff --git a/sources/images/minify/article-header-bg_large.jpg b/sources/images/minify/article-header-bg_large.jpg new file mode 100644 index 0000000..ff8732e Binary files /dev/null and b/sources/images/minify/article-header-bg_large.jpg differ diff --git a/sources/images/minify/feature-image-1_large.jpg b/sources/images/minify/feature-image-1_large.jpg new file mode 100644 index 0000000..593c8bb Binary files /dev/null and b/sources/images/minify/feature-image-1_large.jpg differ diff --git a/sources/images/minify/feature-image-2_large.jpg b/sources/images/minify/feature-image-2_large.jpg new file mode 100644 index 0000000..7b57b96 Binary files /dev/null and b/sources/images/minify/feature-image-2_large.jpg differ diff --git a/sources/images/minify/feature-image-3_large.jpg b/sources/images/minify/feature-image-3_large.jpg new file mode 100644 index 0000000..3c90da1 Binary files /dev/null and b/sources/images/minify/feature-image-3_large.jpg differ diff --git a/sources/images/minify/front-header-bg.jpg b/sources/images/minify/front-header-bg.jpg new file mode 100644 index 0000000..b5778c3 Binary files /dev/null and b/sources/images/minify/front-header-bg.jpg differ diff --git a/sources/images/minify/front-header-bg_block.jpg b/sources/images/minify/front-header-bg_block.jpg new file mode 100644 index 0000000..d5cd6e1 Binary files /dev/null and b/sources/images/minify/front-header-bg_block.jpg differ diff --git a/sources/images/minify/front-header-bg_huge.jpg b/sources/images/minify/front-header-bg_huge.jpg new file mode 100644 index 0000000..6be64d1 Binary files /dev/null and b/sources/images/minify/front-header-bg_huge.jpg differ diff --git a/sources/images/minify/front-header-bg_large.jpg b/sources/images/minify/front-header-bg_large.jpg new file mode 100644 index 0000000..a739223 Binary files /dev/null and b/sources/images/minify/front-header-bg_large.jpg differ diff --git a/sources/images/minify/ico-flags.png b/sources/images/minify/ico-flags.png new file mode 100644 index 0000000..7d6b3dd Binary files /dev/null and b/sources/images/minify/ico-flags.png differ diff --git a/sources/images/minify/page-header-bg.jpg b/sources/images/minify/page-header-bg.jpg new file mode 100644 index 0000000..6e072f4 Binary files /dev/null and b/sources/images/minify/page-header-bg.jpg differ diff --git a/sources/images/minify/page-header-bg_block.jpg b/sources/images/minify/page-header-bg_block.jpg new file mode 100644 index 0000000..607a7d3 Binary files /dev/null and b/sources/images/minify/page-header-bg_block.jpg differ diff --git a/sources/images/minify/page-header-bg_huge.jpg b/sources/images/minify/page-header-bg_huge.jpg new file mode 100644 index 0000000..753a603 Binary files /dev/null and b/sources/images/minify/page-header-bg_huge.jpg differ diff --git a/sources/images/minify/page-header-bg_large.jpg b/sources/images/minify/page-header-bg_large.jpg new file mode 100644 index 0000000..9f5215d Binary files /dev/null and b/sources/images/minify/page-header-bg_large.jpg differ diff --git a/sources/javascripts/concat/base.js b/sources/javascripts/concat/base.js new file mode 100644 index 0000000..2e12d96 --- /dev/null +++ b/sources/javascripts/concat/base.js @@ -0,0 +1,983 @@ +;(function($) { + //============================================================================ + // Helper function to detect if page viewer is in editmode. + //============================================================================ + var editmode = function () { + return $('html').hasClass('editmode'); + }; + + // Function to limit the rate at which a function can fire. + var debounce = function(func, wait, immediate) { + var timeout; + return function() { + var context = this, args = arguments; + var later = function() { + timeout = null; + if (!immediate) func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; + }; + + + $('.mobile-menu-toggler').click(function(event) { + event.preventDefault(); + $('html').toggleClass('mobilemenu-open'); + $('html').removeClass('menu-language-popover-open'); + $('body').removeClass('mobilesearch-open'); + $('#mobile-menu').removeClass('reset-touch').addClass('reset-touch'); + }); + + $('.tags-toggle').click(function() { + $(this).find('.ico-arrow').toggleClass('active'); + $('.tags-bottom').toggleClass('visible'); + }); + + $('.js-toggle-sub-menu').click(function() { + // TODO: Remove this hack if iOS Safari rendering issue is fixed. + $('#mobile-menu').removeClass('reset-touch').addClass('reset-touch'); + $(this).toggleClass('active'); + $(this).parent('li').toggleClass('current-parent'); + }); + + $('.mobile-menu-close').on('click', function() { + event.preventDefault(); + + if ($('html').hasClass('menu-language-popover-open')) { + $('html').removeClass('menu-language-popover-open'); + } else { + $('html').removeClass('mobilemenu-open'); + } + }); + + + $('.js-lang-menu-btn').on('click', function() { + $('html').removeClass('search-open'); + $('.js-search').removeClass('active'); + + if ($('html').hasClass('menu-language-popover-open')) { + $('html').removeClass('menu-language-popover-open'); + } else { + bindLanguageMenuPositioning($(this)); + + $('html').addClass('menu-language-popover-open'); + } + }); + + var bindLanguageMenuPositioning = function(currentButton) { + var offsetItem = $('html').hasClass('language-flags-disabled') ? currentButton.find('.js-lang-title-inner') : currentButton, + rightOffsetHelper = $('html').hasClass('language-flags-disabled') ? 5 : 9; + + $('.js-popup-menu-popover').css({ + top: offsetItem.offset().top + offsetItem.outerHeight() - $('.site-container').offset().top, + right: $(window).width() - offsetItem.offset().left - offsetItem.outerWidth() - rightOffsetHelper + }); + }; + + // =========================================================================== + // Toggles language menu mode. + // =========================================================================== + var bindLanguageMenuSettings = function(valuesObj) { + if (!('type' in valuesObj)) { + valuesObj.type = 'popover'; + } + + if (!('item_state' in valuesObj)) { + valuesObj.item_state = 'flags_and_names'; + } + + var langSettingsEditor = new Edicy.SettingsEditor($('.js-menu-language-settings-toggle').get(0), { + menuItems: [ + { + "titleI18n": "format_desktop_only", + "type": "radio", + "key": "type", + "list": [ + { + "titleI18n": "dropdown_menu", + "value": "popover" + }, + { + "titleI18n": "expanded_menu", + "value": "list" + }, + ] + }, + { + "titleI18n": "show", + "type": "radio", + "key": "item_state", + "list": [ + { + "titleI18n": "flags_only", + "value": "flags_only" + }, + { + "titleI18n": "names_only", + "value": "names_only" + }, + { + "titleI18n": "flags_and_names", + "value": "flags_and_names" + } + ] + } + ], + + buttonTitleI18n: "settings", + + values: valuesObj, + + containerClass: ['js-menu-language-settings-popover', 'js-prevent-sideclick'], + + preview: function(data) { + var $html = $('html'), + $languageSettingsMenuElement = $('.js-menu-language-settings'); + + if (data.type === 'list') { + $html.removeClass('language-menu-mode-popover'); + $html.removeClass('menu-language-popover-open'); + $html.addClass('language-menu-mode-list'); + } else { + $html.removeClass('language-menu-mode-list'); + $html.addClass('language-menu-mode-popover'); + $html.addClass('menu-language-popover-open'); + } + + if (data.item_state === 'flags_only') { + $html.removeClass('language-flags-disabled'); + $html.removeClass('language-names-enabled'); + $html.addClass('language-flags-enabled'); + $html.addClass('language-names-disabled'); + } else if (data.item_state === 'names_only') { + $html.removeClass('language-flags-enabled'); + $html.removeClass('language-names-disabled'); + $html.addClass('language-flags-disabled'); + $html.addClass('language-names-enabled'); + } else if (data.item_state === 'flags_and_names') { + $html.removeClass('language-flags-disabled'); + $html.removeClass('language-names-disabled'); + $html.addClass('language-flags-enabled'); + $html.addClass('language-names-enabled'); + } + + toggleLanguageSettingsLocation(); + this.setPosition(); + }, + + commit: function(data) { + siteData.set('settings_language_menu', data); + } + }); + + toggleLanguageSettingsLocation(); + }; + + var toggleLanguageSettingsLocation = function() { + var $html = $('html'), + $languageSettingsMenuElement = $('.js-menu-language-settings'); + + if ($(window).width() <= 1024 && $languageSettingsMenuElement.closest('.js-menu-main-mobile').length === 0) { + $languageSettingsMenuElement.appendTo('.js-menu-main-mobile'); + } else if ($(window).width() > 1024 && $languageSettingsMenuElement.closest('.js-menu-main-desktop').length === 0) { + if ($html.hasClass('language-menu-mode-list')) { + $languageSettingsMenuElement.appendTo('.js-menu-language-list-setting-parent'); + bindLanguageMenuPositioning($('.js-lang-menu-btn')); + } else { + $languageSettingsMenuElement.appendTo('.js-menu-language-popover-setting-parent'); + bindLanguageMenuPositioning($('.js-lang-menu-btn')); + } + } + }; + + var bindFallbackHeaderLeftWidthCalculation = function() { + var headerWidth = $('.js-header-top-wrap').width(), + headerRight = $('.js-header-right'), + headerRightWidth = headerRight.width(), + headerRightMargin = parseInt(headerRight.css('margin-left')) + 1; + + $('.js-header-left').css('min-width', headerWidth - headerRightWidth - headerRightMargin); + }; + + // Returns the suitable version of the image depending on the viewport width. + var getImageByWidth = function(sizes, targetWidth) { + var prevImage; + + for (var i = 0, max = sizes.length; i < max; i++) { + if (sizes[i].width < targetWidth) { + return prevImage || sizes[i]; + } + prevImage = sizes[i]; + } + // Makes sure that smallest is returned if all images bigger than targetWidth. + return sizes[sizes.length - 1]; + }; + + var bgPickerImageSizesContains = function(sizes, url) { + for (var i = sizes.length; i--;) { + if (url.indexOf(sizes[i].url.trim()) > -1) { + return true; + } + } + return false; + }; + + // Checks the lightness sum of header background image and color and sets the lightness class depending on it's value. + var bgPickerContentLightnessClass = function(bgPickerArea, combinedLightness) { + if (combinedLightness > 0.6) { + $(bgPickerArea).find('.js-background-type').addClass('light-background').removeClass('dark-background'); + } else { + $(bgPickerArea).find('.js-background-type').addClass('dark-background').removeClass('light-background'); + } + }; + + // Header background image and color preview logic function. + var bgPickerPreview = function(bgPickerArea, data, bgPicker, defaultImageColor) { + // Defines the variables used in preview logic. + + var bgPickerImagePrevious = $(bgPickerArea).find('.js-background-image').css('background-image'), + bgPickerImageSuitable = data.imageSizes ? getImageByWidth(data.imageSizes, $(window).width()) : null, + bgPickerImage = (data.image && data.image !== '') ? 'url(' + bgPickerImageSuitable.url + ')' : 'none', + bgPickerImageSizes = (data.imageSizes && data.imageSizes !== '') ? data.imageSizes : null, + bgPickerColor = (data.color && data.color !== '') ? data.color : 'rgba(0,0,0,0)', + bgPickerColorDataLightness = (data.colorData && data.colorData !== '') ? data.colorData.lightness : 1, + colorExtractImage = $(''), + colorExtractCanvas = $(''), + colorExtractImageUrl = (data.image && data.image !== '') ? data.image : null; + + if (colorExtractImageUrl) { + if (bgPickerImageSizesContains(bgPickerImageSizes, bgPickerImagePrevious)) { + bgPicker.imageColor = bgPicker.imageColor ? bgPicker.imageColor : defaultImageColor; + bgPicker.combinedLightness = getCombinedLightness(bgPicker.imageColor, bgPickerColor); + bgPickerContentLightnessClass(bgPickerArea, bgPicker.combinedLightness); + + } else { + colorExtractImage.attr('src', colorExtractImageUrl.replace(/.*\/(photos|voogstock)/g,'/photos')); + colorExtractImage.on('load', function() { + ColorExtract.extract(colorExtractImage[0], colorExtractCanvas[0], function(data) { + bgPicker.imageColor = data.bgColor ? data.bgColor : 'rgba(255,255,255,1)'; + bgPicker.combinedLightness = getCombinedLightness(bgPicker.imageColor, bgPickerColor); + bgPickerContentLightnessClass(bgPickerArea, bgPicker.combinedLightness); + + }); + }); + }; + } else { + bgPicker.imageColor = 'rgba(255,255,255,1)'; + bgPicker.combinedLightness = getCombinedLightness(bgPicker.imageColor, bgPickerColor); + bgPickerContentLightnessClass(bgPickerArea, bgPicker.combinedLightness); + + }; + + // Updates the bgPickerContent background image and background color. + if (pageType === 'articlePage' && bgPickerArea.hasClass('site-header')) { + $('#preview-style').html('.photo-article.site-header .js-background-image { background-image: ' + bgPickerImage + ' } .photo-article.site-header .js-background-color { background-color: ' + bgPickerColor + ' }'); + } else { + $(bgPickerArea).find('.js-background-image').css({'background-image' : bgPickerImage}); + $(bgPickerArea).find('.js-background-color').css({'background-color' : bgPickerColor}); + } + }; + + var normalizeValue = function(value) { + if (value == null || (typeof value == 'string' && value.match(/^[\\'"]+$/))) { + return ''; + } else { + return value; + } + }; + + // Header background image and color save logic function. + var bgPickerCommit = function(dataBgKey, data, bgPicker, pageType) { + var commitData = $.extend(true, {}, data); + commitData.image = data.image || ''; + commitData.imageSizes = normalizeValue(data.imageSizes); + commitData.color = data.color || ''; + commitData.combinedLightness = bgPicker.combinedLightness; + + if (pageType === 'articlePage') { + if (dataBgKey == 'footer_bg') { + siteData.set(dataBgKey, commitData); + } else { + Edicy.articles.currentArticle.setData(dataBgKey, commitData); + } + } else { + if (pageType === 'contentPage' && (dataBgKey === 'footer_bg') || (dataBgKey === 'body_bg')) { + siteData.set(dataBgKey, commitData); + } else { + pageData.set(dataBgKey, commitData); + } + } + }; + + var colorSum = function(bgColor, fgColor) { + if (bgColor && fgColor) { + if (typeof bgColor == 'string') { + bgColor = bgColor.replace(/rgba?\(/,'').replace(/\)/,'').split(','); + $.each(bgColor, function(n, x) {bgColor[n] = +x;}); + } + if (typeof fgColor == 'string') { + fgColor = fgColor.replace(/rgba?\(/,'').replace(/\)/,'').split(','); + $.each(fgColor, function(n, x) {fgColor[n] = +x;}); + } + if (typeof bgColor == 'object' && bgColor.hasOwnProperty('length')) { + if (bgColor.length == 3) { bgColor.push(1.0); } + } + if (typeof fgColor == 'object' && fgColor.hasOwnProperty('length')) { + if (fgColor.length == 3) { fgColor.push(1.0); } + } + var result = [0, 0, 0, 0]; + result[3] = 1 - (1 - fgColor[3]) * (1 - bgColor[3]); + if (result[3] === 0) { result[3] = 1e-6; } + result[0] = Math.min(fgColor[0] * fgColor[3] / result[3] + bgColor[0] * bgColor[3] * (1 - fgColor[3]) / result[3], 255); + result[1] = Math.min(fgColor[1] * fgColor[3] / result[3] + bgColor[1] * bgColor[3] * (1 - fgColor[3]) / result[3], 255); + result[2] = Math.min(fgColor[2] * fgColor[3] / result[3] + bgColor[2] * bgColor[3] * (1 - fgColor[3]) / result[3], 255); + return $.map(result, function(e) { return Math.floor(e); }); + } + }; + + var getCombinedColor = function(bgColor, fgColor) { + var sum = colorSum(bgColor || [255,255,255,1], fgColor || [255,255,255,1]); + return sum; + }; + + var getCombinedLightness = function(bgColor, fgColor) { + var combinedColor = getCombinedColor(bgColor, fgColor); + var color = Math.round(((+combinedColor[0]) * 0.2126 + (+combinedColor[1]) * 0.7152 + (+combinedColor[2]) * 0.0722) / 2.55) / 100; + return color; + }; + + var bgPickerColorScheme = function(lightness) { + if (typeof lightness != 'undefined') { + if (lightness > 0.6) { + $('.header-wrapper').addClass('light').removeClass('dark'); + } else { + $('.header-wrapper').addClass('dark').removeClass('light'); + } + } + }; + + var setImageOrientation = function($contentItemBox, width, height) { + var $imgDropAreaTarget = $contentItemBox.find('.js-content-item-img-drop-area'), + $cropToggleButton = $contentItemBox.find('.js-toggle-crop-state'); + + if (width > height) { + $imgDropAreaTarget + .removeClass('image-landscape image-square image-portrait') + .addClass('image-landscape') + ; + } else if (width === height) { + $imgDropAreaTarget + .removeClass('image-landscape image-square image-portrait') + .addClass('image-square') + ; + } else { + $imgDropAreaTarget + .removeClass('image-landscape image-square image-portrait') + .addClass('image-portrait') + ; + } + + if ($imgDropAreaTarget.hasClass('image-square')) { + $cropToggleButton + .removeClass('is-visible') + .addClass('is-hidden') + ; + } else { + $cropToggleButton + .removeClass('is-hidden') + .addClass('is-visible') + ; + } + }; + + var setItemImage = function($contentItemBox, $imgDropArea, itemId, imageId, itemType) { + var apiType = itemType === 'article' ? 'articles' : 'pages', + itemData = new Edicy.CustomData({ + type: itemType, + id: itemId + }); + + $.ajax({ + type: 'PATCH', + contentType: 'application/json', + url: '/admin/api/' + apiType +'/' + itemId, + data: JSON.stringify({'image_id': imageId}), + dataType: 'json', + success: function(data) { + itemData.set('image_crop_state', 'not-cropped'); + $contentItemBox.removeClass('not-loaded with-error').addClass('is-loaded'); + $contentItemBox.find('.edy-img-drop-area-placeholder').css('opacity', 1); + $imgDropArea.css('opacity', 1); + }, + timeout: 30000, + error: function(data) { + $contentItemBox.removeClass('not-loaded is-loaded with-error').addClass('with-error'); + } + }); + }; + + // =========================================================================== + // Binds editmode image drop areas. + // =========================================================================== + var bindContentItemImgDropAreas = function(placeholderText) { + $('.js-content-item-img-drop-area').each(function(index, imgDropAreaTarget) { + var $imgDropAreaTarget = $(imgDropAreaTarget), + $contentItemBox = $imgDropAreaTarget.closest('.js-content-item-box'), + itemId = $contentItemBox.data('item-id'), + itemType = $contentItemBox.data('item-type'), + itemData = new Edicy.CustomData({ + type: itemType, + id: itemId + }); + + var imgDropArea = new Edicy.ImgDropArea($imgDropAreaTarget, { + positionable: false, + target_width: 1280, + placeholder: '
    ' + placeholderText + '
    ', + removeBtn: '
    ' + + '
    ' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
    ' + + '
    ', + + change: function(data) { + var imageId; + + $imgDropAreaTarget + .removeClass('is-cropped') + .addClass('not-cropped') + .css('opacity', .1) + ; + + if (data) { + imageId = data.original_id; + + $contentItemBox + .removeClass('without-image is-loaded with-error') + .addClass('with-image not-loaded') + ; + + setImageOrientation($contentItemBox, data.width, data.height); + } else { + imageId = null; + + $contentItemBox + .removeClass('with-image is-loaded with-error') + .addClass('without-image not-loaded') + ; + + $contentItemBox.find('.edy-img-drop-area-placeholder').css('opacity', 0); + } + + setItemImage($contentItemBox, $imgDropAreaTarget, itemId, imageId, itemType); + } + }); + }); + }; + + // =========================================================================== + // Sets functions that will be initiated globally when resizing the browser + // window. + // =========================================================================== + var bindContentItemImageCropToggle = function() { + $('.js-toggle-crop-state').on('click', function() { + var $contentItemBox = $(this).closest('.js-content-item-box'), + $imgDropAreaTarget = $contentItemBox.find('.js-content-item-img-drop-area'), + itemId = $contentItemBox.data('item-id'), + itemType = $contentItemBox.data('item-type'), + itemData = new Edicy.CustomData({ + type: itemType, + id: itemId + }), + imageCropState; + + if ($imgDropAreaTarget.hasClass('is-cropped')) { + $imgDropAreaTarget + .removeClass('is-cropped') + .addClass('not-cropped') + ; + + imageCropState = 'not-cropped'; + } else { + $imgDropAreaTarget + .removeClass('not-cropped') + .addClass('is-cropped') + ; + + imageCropState = 'is-cropped'; + } + + itemData.set('image_crop_state', imageCropState); + }); + }; + + // =========================================================================== + // Load article cover images only when they are close or appearing in the + // viewport. + // =========================================================================== + var bindContentItemImageLazyload = function() { + $(document).ready(function() { + setTimeout(function() { + $('.js-content-item-box').addClass('not-loaded'); + }, 3000); + }); + + $('.js-lazyload').lazyload({ + threshold : 500, + effect : "fadeIn", + placeholder: 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==', + + load: function() { + var $contentItemBox = $(this).closest('.js-content-item-box'); + + $contentItemBox.removeClass('not-loaded with-error').addClass('is-loaded'); + + setTimeout(function() { + $contentItemBox.removeClass('not-loaded with-error'); + $contentItemBox.find('.js-loader').remove(); + }, 3000); + } + }); + }; + + // Shows/hides the popover main menu (visible on smalles screens). + var handleElementsClick = function() { + $('.site-container').on('mousedown', function(event) { + if (!$(event.target).closest('.js-prevent-sideclick').length) { + + if ($('.js-btn').hasClass('open')) { + $('.js-btn').removeClass('open'); + } + + if ($('.js-popover').hasClass('expanded')) { + $('.js-popover').removeClass('expanded'); + } + + if ($('.js-search').hasClass('active')) { + $('.js-search').removeClass('active'); + $('.search-btn').removeClass('open'); + } + + if ($('html').hasClass('mobilemenu-open')) { + $('.mobile-menu-toggler').trigger('click'); + } + + if ($('html').hasClass('menu-language-popover-open')) { + $('html').removeClass('menu-language-popover-open'); + } + + if ($('html').hasClass('comments-open')) { + $('html').removeClass('comments-open'); + $('.js-comments-toggle-btn, .js-comments').removeClass('open'); + } + + if ($('html').hasClass('search-open')) { + $('html').removeClass('search-open'); + } + + handleCommentsToggleing(); + } + }); + + // Toggles the popover main menu (visible on smalles screens). + $('.js-menu-btn').click(function() { + $(this).toggleClass('open'); + $('.js-menu-main').toggleClass('expanded'); + }); + + // Toggles the popover language menu. + $('.js-menu-lang-btn').click(function() { + $('.js-menu-lang-btn').toggleClass('open'); + $('.js-menu-lang').toggleClass('expanded'); + }); + + $('.js-tags-btn').click(function() { + $(this).toggleClass('open'); + $('.js-menu-tags').toggleClass('expanded'); + }); + + // Toggles the search modal. + $('.js-search-toggle-btn').click(function() { + $('html').removeClass('mobilemenu-open'); + $('html').removeClass('menu-language-popover-open'); + $('.js-search').toggleClass('active'); + $('.js-search').hasClass('active') ? $('.js-search-input').focus() : ''; + $('html').toggleClass('search-open'); + }); + + $('.js-search-input').on('input', function() { + var searchCleanBtn = $(this).parent().next(); + + if ($(this).val().length > 1) { + searchCleanBtn.addClass('active'); + } else { + searchCleanBtn.removeClass('active'); + } + + handleMobileSearchHeight(); + }); + + $('.js-search-reset-btn').click(function() { + $('html').removeClass('search-open'); + $('.js-search').removeClass('active'); + }); + + // Opens the comments modal. + $('.js-comments-toggle-btn').click(function() { + $(this).toggleClass('open'); + $('.js-comments').toggleClass('open'); + $('html').toggleClass('comments-open'); + $('.js-comments-input').val('').focus(); + + + if ($(window).width() > 640) { + handleCommentsToggleing(); + }; + }); + + // Submenu lvl1 load more on mobile. + $('.submenu-load-more-lvl1').click(function() { + $(this).addClass('open'); + $(this).next().addClass('open'); + $(this).next().next().addClass('open'); + }); + + $('.submenu-close-lvl1').click(function() { + $(this).removeClass('open'); + $(this).prev().removeClass('open'); + $(this).next().removeClass('open'); + }); + + // Submenu lvl2 load more on mobile. + $('.submenu-load-more-lvl2').click(function() { + $(this).addClass('open'); + $(this).next().addClass('open'); + $(this).next().next().addClass('open'); + }); + + $('.submenu-close-lvl2').click(function() { + $(this).removeClass('open'); + $(this).prev().removeClass('open'); + $(this).next().removeClass('open'); + }); + + $('.js-type-btn').click(function() { + toggleArticleType($(this)); + }); + + $('.publicmode .js-slide-to-article').click(function() { + $('html, body').animate({ + scrollTop: $('.page-content').offset().top + }, 300); + }); + }; + + var handleCommentsToggleing = function() { + var mainContent = $('.main-content'); + + if ($('html').hasClass('comments-open')) { + var documentHeight = $(document).outerHeight(), + headerHeight = $('.js-site-header').outerHeight(), + articleComments = $('.article-comments'), + articleCommentsHeight = articleComments.outerHeight(), + siteFooterHeight = $('.site-footer').outerHeight(); + + articleComments.css('min-height', documentHeight - headerHeight); + mainContent.css('min-height', articleCommentsHeight - siteFooterHeight); + + $('html, body').animate({ + scrollTop: $('.js-comments').offset().top + }, 300); + } else { + mainContent.removeAttr('style'); + } + }; + + // Sets the search modal height. + var handleSearchModalHeight = function() { + var windowWidth = $(window).width(); + windowHeight = $(window).height(), + searchModal = $('.js-voog-search-modal'); + + if (windowWidth >= 1400 ) { + searchModalHeight = windowHeight - 190; + } + else { + searchModalHeight = windowHeight - 171; + } + + searchModal.css({'max-height': searchModalHeight}); + }; + + // Sets search modal height on search submit. + var handleSearchSubmit = function() { + $('.js-search-form').on('submit', function() { + handleSearchModalHeight(); + }); + }; + + // Set article comments section the height of the document minus the header section + var commentsHeight = function() { + $('.article-comments').removeAttr('style'); + var documentHeight = $(document).height(), + siteHeight = $('.site-container').height(), + commentsHeight = $('.article-comments').height(), + commentsPadTop = parseInt($('.article-comments').css('padding-top')), + commentsPadBottom = parseInt($('.article-comments').css('padding-bottom')), + mainHeight = $('.page-content').height(), + headerHeight = $('.site-header').height(), + footerHeight = $('.site-footer').height(), + commentsTarget = (mainHeight + headerHeight + footerHeight) - headerHeight - commentsPadTop - commentsPadBottom; + + if ($(window).width() > 480) { + $('.article-comments').css('min-height', commentsTarget); + } + }; + + /*var autoSizeFormCommentArea = function() { + $('.comment-form .form_field_textarea').textareaAutoSize(); + };*/ + + // Initiations + var initWindowResize = function() { + $(window).resize(debounce(function() { + commentsHeight(); + handleMobileSearchHeight(); + toggleLanguageSettingsLocation(); + + $('.js-menu-language-settings-popover').hide(); + }, 100)); + + $(window).resize(debounce(function() { + $('html').removeClass('menu-language-popover-open'); + $('.js-menu-language-settings-popover').hide(); + $('.js-menu-language-settings-toggle').removeClass('edy-cbtn-active'); + }, 25)); + }; + + // Scrolls to the comment-form if comment submit failed (to show the error messages to the user) + var focusFormWithErrors = function() { + $(document).ready(function() { + if ($('.comment-form').hasClass('form_with_errors')) { + $('html, body').scrollTop($('.comment-form').offset().top); + } else if ($('form').find('.form_error, .form_notice').length > 0) { + $('html, body').scrollTop($('.form_error, .form_notice').closest('form').offset().top); + } + }); + }; + + var tableWrapper = function() { + $('body:not(.editmode) table').each(function() { + $(this).wrap('
    '); + }); + }; + + var toggleArticleType = function(currentButton) { + $('.js-type-btn').removeClass('is-active'); + currentButton.addClass('is-active'); + + if (currentButton.data('article-type') == 'photo-article') { + $('.js-article-title').prependTo('.js-article-header-title-wrap'); + + $('.js-text-article-component').addClass('is-hidden'); + $('.js-photo-article-component').removeClass('is-hidden'); + + $('.js-site-header').addClass('photo-article'); + $('.js-site-header .js-background-settings').removeClass('is-hidden'); + + var headerBgType = $('.js-site-header .js-background-type').data('article-bg-type'); + $('.js-site-header .js-background-type').removeClass('dark-background light-background').addClass(headerBgType); + + Edicy.articles.currentArticle.setData('photo_article_state', true); + } else { + $('.js-article-title').prependTo('.js-article-body-title-wrap'); + + $('.js-photo-article-component').addClass('is-hidden'); + $('.js-text-article-component').removeClass('is-hidden'); + + $('.js-site-header').removeClass('photo-article') + $('.js-site-header .js-background-settings').addClass('is-hidden'); + + var headerBgType = $('.js-site-header .js-background-type').data('blog-bg-type'); + $('.js-site-header .js-background-type').removeClass('dark-background light-background').addClass(headerBgType); + + Edicy.articles.currentArticle.setData('photo_article_state', false); + } + }; + + var handleMobileSearchHeight = function() { + if ($(window).width() <= 640) { + $('.js-voog-search-modal').css('max-height', $(window).height() - 56); + } else { + $('.js-voog-search-modal').css('max-height', 'auto'); + } + }; + + // =========================================================================== + // Toggles product categories visibility in main menu. + // =========================================================================== + var bindRootItemSettings = function(rootItemValuesObj) { + if (!('show_product_related_pages_in_main_menu' in rootItemValuesObj)) { + rootItemValuesObj.show_product_related_pages_in_main_menu = false; + } + + $('.js-root-item-settings-toggle').each(function(index, languageMenuSettingsButton) { + var rootItemSettingsEditor = new Edicy.SettingsEditor(languageMenuSettingsButton, { + menuItems: [ + { + "titleI18n": "show_in_main_menu", + "type": "checkbox", + "key": "show_product_related_pages_in_main_menu", + "states": { + "on": true, + "off": false + } + } + ], + + buttonTitleI18n: "settings", + + values: rootItemValuesObj, + + containerClass: ['js-root-item-settings-popover', 'js-prevent-sideclick'], + + preview: function(data) { + if (!data.show_product_related_pages_in_main_menu === true) { + $('.js-menu-item-products').addClass('is-hidden'); + } else { + $('.js-menu-item-products').removeClass('is-hidden'); + } + }, + + commit: function(data) { + siteData.set('settings_root_item', data); + } + }); + }); + }; + + var initBlogPage = function() { + // Add blog listing layout specific functions here. + }; + + var initArticlePage = function() { + // Add single post layout specific functions here. + commentsHeight(); + + if ($('html').hasClass('js-calculate-comments-height')) { + handleCommentsToggleing(); + }; + }; + + var initCommonPage = function() { + // Add common page layout specific functions here. + }; + + var initFrontPage = function() { + // Add front page layout specific functions here. + }; + + // =========================================================================== + // Sets functions that will be initiated on items list layouts. + // =========================================================================== + var initItemsPage = function() { + if (!editmode()) { + bindContentItemImageLazyload(); + } + }; + + // =========================================================================== + // Detects design editor changes. + // =========================================================================== + var detectDesignEditorChanges = function() { + document.addEventListener('edicy:customstyles:change', function(event) { + if (Object.keys(event.detail.changes).indexOf('--header-background-color') > -1) { + if (event.detail.changes['--header-background-color'].value === undefined) { + $('body').removeClass('header-top-with-bg'); + + siteData.remove('has_header_bg_color'); + } + else { + $('body').addClass('header-top-with-bg'); + + siteData.set('has_header_bg_color', true); + } + + } + }); + }; + + var init = function() { + // Add site wide functions here. + handleElementsClick(); + tableWrapper(); + focusFormWithErrors(); + //autoSizeFormCommentArea(); + detectDesignEditorChanges(); + + if (!Modernizr.flexbox && editmode()) { + bindFallbackHeaderLeftWidthCalculation(); + } + + }; + + // =========================================================================== + // Binds site search functionality. + // =========================================================================== + var bindSiteSearch = function(searchForm, languageCode, noResultsString) { + if (searchForm) { + var search = new VoogSearch(searchForm, { + // This defines the number of results per query. + per_page: 10, + // Language code for restricting the search to page language. + lang: languageCode, + // If given, an DOM element results are rendered inside that element + resultsContainer: $('.js-voog-search-modal').get(0), + // Defines if modal should close on sideclick. + sideclick: true, + // Mobile checkpoint. + mobileModeWidth: 640, + // Updates results on every keypress. + updateOnKeypress: true, + // String for feedback if no results are found. + noResults: noResultsString + }); + } + }; + + // Enables the usage of the initiations outside this file. + window.site = $.extend(window.site || {}, { + bgPickerPreview: bgPickerPreview, + bgPickerCommit: bgPickerCommit, + bgPickerColorScheme: bgPickerColorScheme, + initWindowResize: initWindowResize, + initBlogPage: initBlogPage, + initArticlePage: initArticlePage, + initCommonPage: initCommonPage, + initFrontPage: initFrontPage, + bindLanguageMenuSettings: bindLanguageMenuSettings, + initItemsPage: initItemsPage, + bindContentItemImgDropAreas: bindContentItemImgDropAreas, + bindContentItemImageCropToggle: bindContentItemImageCropToggle, + bindRootItemSettings: bindRootItemSettings, + bindSiteSearch: bindSiteSearch + }); + + window.site = $.extend(window.site || {}, { + }); + + init(); +})(jQuery); diff --git a/sources/javascripts/concat/colorextract.js b/sources/javascripts/concat/colorextract.js new file mode 100644 index 0000000..4fa2541 --- /dev/null +++ b/sources/javascripts/concat/colorextract.js @@ -0,0 +1,540 @@ +// quantize.js, Copyright 2012 Shao-Chung Chen. +// Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) + +// Basic CoffeeScript port of the (MMCQ) Modified Media Cut Quantization +// algorithm from the Leptonica library (http://www.leptonica.com/). +// Return a color map you can use to map original pixels to the reduced palette. +// +// Rewritten from the JavaScript port (http://gist.github.com/1104622) +// developed by Nick Rabinowitz under the MIT license. + +// Generated by CoffeeScript 1.3.3 +var MMCQ, PriorityQueue; + +PriorityQueue = (function() { + + function PriorityQueue(comparator) { + this.comparator = comparator; + this.contents = []; + this.sorted = false; + } + + PriorityQueue.prototype.sort = function() { + this.contents.sort(this.comparator); + return this.sotred = true; + }; + + PriorityQueue.prototype.push = function(obj) { + this.contents.push(obj); + return this.sorted = false; + }; + + PriorityQueue.prototype.peek = function(index) { + if (index == null) { + index = this.contents.length - 1; + } + if (!this.sorted) { + this.sort(); + } + return this.contents[index]; + }; + + PriorityQueue.prototype.pop = function() { + if (!this.sorted) { + this.sort(); + } + return this.contents.pop(); + }; + + PriorityQueue.prototype.size = function() { + return this.contents.length; + }; + + PriorityQueue.prototype.map = function(func) { + return this.contents.map(func); + }; + + return PriorityQueue; + +})(); + +MMCQ = (function() { + var ColorBox, ColorMap, cboxFromPixels, getColorIndex, getHisto, medianCutApply, + _this = this; + + MMCQ.sigbits = 5; + + MMCQ.rshift = 8 - MMCQ.sigbits; + + function MMCQ() { + this.maxIterations = 1000; + this.fractByPopulations = 0.75; + } + + getColorIndex = function(r, g, b) { + return (r << (2 * MMCQ.sigbits)) + (g << MMCQ.sigbits) + b; + }; + + ColorBox = (function() { + + function ColorBox(r1, r2, g1, g2, b1, b2, histo) { + this.r1 = r1; + this.r2 = r2; + this.g1 = g1; + this.g2 = g2; + this.b1 = b1; + this.b2 = b2; + this.histo = histo; + } + + ColorBox.prototype.volume = function(forced) { + if (!this._volume || forced) { + this._volume = (this.r2 - this.r1 + 1) * (this.g2 - this.g1 + 1) * (this.b2 - this.b1 + 1); + } + return this._volume; + }; + + ColorBox.prototype.count = function(forced) { + var b, g, index, numpix, r, _i, _j, _k, _ref, _ref1, _ref2, _ref3, _ref4, _ref5; + if (!this._count_set || forced) { + numpix = 0; + for (r = _i = _ref = this.r1, _ref1 = this.r2; _i <= _ref1; r = _i += 1) { + for (g = _j = _ref2 = this.g1, _ref3 = this.g2; _j <= _ref3; g = _j += 1) { + for (b = _k = _ref4 = this.b1, _ref5 = this.b2; _k <= _ref5; b = _k += 1) { + index = getColorIndex(r, g, b); + numpix += this.histo[index] || 0; + } + } + } + this._count_set = true; + this._count = numpix; + } + return this._count; + }; + + ColorBox.prototype.copy = function() { + return new ColorBox(this.r1, this.r2, this.g1, this.g2, this.b1, this.b2, this.histo); + }; + + ColorBox.prototype.average = function(forced) { + var b, bsum, g, gsum, hval, index, mult, r, rsum, total, _i, _j, _k, _ref, _ref1, _ref2, _ref3, _ref4, _ref5; + if (!this._average || forced) { + mult = 1 << (8 - MMCQ.sigbits); + total = 0; + rsum = 0; + gsum = 0; + bsum = 0; + for (r = _i = _ref = this.r1, _ref1 = this.r2; _i <= _ref1; r = _i += 1) { + for (g = _j = _ref2 = this.g1, _ref3 = this.g2; _j <= _ref3; g = _j += 1) { + for (b = _k = _ref4 = this.b1, _ref5 = this.b2; _k <= _ref5; b = _k += 1) { + index = getColorIndex(r, g, b); + hval = this.histo[index] || 0; + total += hval; + rsum += hval * (r + 0.5) * mult; + gsum += hval * (g + 0.5) * mult; + bsum += hval * (b + 0.5) * mult; + } + } + } + if (total) { + this._average = [~~(rsum / total), ~~(gsum / total), ~~(bsum / total)]; + } else { + this._average = [~~(mult * (this.r1 + this.r2 + 1) / 2), ~~(mult * (this.g1 + this.g2 + 1) / 2), ~~(mult * (this.b1 + this.b2 + 1) / 2)]; + } + } + return this._average; + }; + + ColorBox.prototype.contains = function(pixel) { + var b, g, r; + r = pixel[0] >> MMCQ.rshift; + g = pixel[1] >> MMCQ.rshift; + b = pixel[2] >> MMCQ.rshift; + return ((this.r1 <= r && r <= this.r2)) && ((this.g1 <= g && g <= this.g2)) && ((this.b1 <= b && b <= this.b2)); + }; + + return ColorBox; + + })(); + + ColorMap = (function() { + + function ColorMap() { + this.cboxes = new PriorityQueue(function(a, b) { + var va, vb; + va = a.count() * a.volume(); + vb = b.count() * b.volume(); + if (va > vb) { + return 1; + } else if (va < vb) { + return -1; + } else { + return 0; + } + }); + } + + ColorMap.prototype.push = function(cbox) { + return this.cboxes.push({ + cbox: cbox, + color: cbox.average() + }); + }; + + ColorMap.prototype.palette = function() { + return this.cboxes.map(function(cbox) { + return cbox.color; + }); + }; + + ColorMap.prototype.size = function() { + return this.cboxes.size(); + }; + + ColorMap.prototype.map = function(color) { + var i, _i, _ref; + for (i = _i = 0, _ref = this.cboxes.size(); _i < _ref; i = _i += 1) { + if (this.cboxes.peek(i).cbox.contains(color)) { + return this.cboxes.peek(i).color; + } + return this.nearest(color); + } + }; + + ColorMap.prototype.cboxes = function() { + return this.cboxes; + }; + + ColorMap.prototype.nearest = function(color) { + var dist, i, minDist, retColor, square, _i, _ref; + square = function(n) { + return n * n; + }; + minDist = 1e9; + for (i = _i = 0, _ref = this.cboxes.size(); _i < _ref; i = _i += 1) { + dist = Math.sqrt(square(color[0] - this.cboxes.peek(i).color[0]) + square(color[1] - this.cboxes.peek(i).color[1]) + square(color[2] - this.cboxes.peek(i).color[2])); + if (dist < minDist) { + minDist = dist; + retColor = this.cboxes.peek(i).color; + } + } + return retColor; + }; + + return ColorMap; + + })(); + + getHisto = function(pixels) { + var b, g, histo, histosize, index, pixel, r, _i, _len; + histosize = 1 << (3 * MMCQ.sigbits); + histo = new Array(histosize); + for (_i = 0, _len = pixels.length; _i < _len; _i++) { + pixel = pixels[_i]; + r = pixel[0] >> MMCQ.rshift; + g = pixel[1] >> MMCQ.rshift; + b = pixel[2] >> MMCQ.rshift; + index = getColorIndex(r, g, b); + histo[index] = (histo[index] || 0) + 1; + } + return histo; + }; + + cboxFromPixels = function(pixels, histo) { + var b, bmax, bmin, g, gmax, gmin, pixel, r, rmax, rmin, _i, _len; + rmin = 1e6; + rmax = 0; + gmin = 1e6; + gmax = 0; + bmin = 1e6; + bmax = 0; + for (_i = 0, _len = pixels.length; _i < _len; _i++) { + pixel = pixels[_i]; + r = pixel[0] >> MMCQ.rshift; + g = pixel[1] >> MMCQ.rshift; + b = pixel[2] >> MMCQ.rshift; + if (r < rmin) { + rmin = r; + } else if (r > rmax) { + rmax = r; + } + if (g < gmin) { + gmin = g; + } else if (g > gmax) { + gmax = g; + } + if (b < bmin) { + bmin = b; + } else if (b > bmax) { + bmax = b; + } + } + return new ColorBox(rmin, rmax, gmin, gmax, bmin, bmax, histo); + }; + + medianCutApply = function(histo, cbox) { + var b, bw, doCut, g, gw, index, lookaheadsum, maxw, partialsum, r, rw, sum, total, _i, _j, _k, _l, _m, _n, _o, _p, _q, _ref, _ref1, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9; + if (!cbox.count()) { + return; + } + if (cbox.count() === 1) { + return [cbox.copy()]; + } + rw = cbox.r2 - cbox.r1 + 1; + gw = cbox.g2 - cbox.g1 + 1; + bw = cbox.b2 - cbox.b1 + 1; + maxw = Math.max(rw, gw, bw); + total = 0; + partialsum = []; + lookaheadsum = []; + if (maxw === rw) { + for (r = _i = _ref = cbox.r1, _ref1 = cbox.r2; _i <= _ref1; r = _i += 1) { + sum = 0; + for (g = _j = _ref2 = cbox.g1, _ref3 = cbox.g2; _j <= _ref3; g = _j += 1) { + for (b = _k = _ref4 = cbox.b1, _ref5 = cbox.b2; _k <= _ref5; b = _k += 1) { + index = getColorIndex(r, g, b); + sum += histo[index] || 0; + } + } + total += sum; + partialsum[r] = total; + } + } else if (maxw === gw) { + for (g = _l = _ref6 = cbox.g1, _ref7 = cbox.g2; _l <= _ref7; g = _l += 1) { + sum = 0; + for (r = _m = _ref8 = cbox.r1, _ref9 = cbox.r2; _m <= _ref9; r = _m += 1) { + for (b = _n = _ref10 = cbox.b1, _ref11 = cbox.b2; _n <= _ref11; b = _n += 1) { + index = getColorIndex(r, g, b); + sum += histo[index] || 0; + } + } + total += sum; + partialsum[g] = total; + } + } else { + for (b = _o = _ref12 = cbox.b1, _ref13 = cbox.b2; _o <= _ref13; b = _o += 1) { + sum = 0; + for (r = _p = _ref14 = cbox.r1, _ref15 = cbox.r2; _p <= _ref15; r = _p += 1) { + for (g = _q = _ref16 = cbox.g1, _ref17 = cbox.g2; _q <= _ref17; g = _q += 1) { + index = getColorIndex(r, g, b); + sum += histo[index] || 0; + } + } + total += sum; + partialsum[b] = total; + } + } + partialsum.forEach(function(d, i) { + return lookaheadsum[i] = total - d; + }); + doCut = function(color) { + var cbox1, cbox2, count2, d2, dim1, dim2, i, left, right, _r, _ref18, _ref19; + dim1 = color + '1'; + dim2 = color + '2'; + for (i = _r = _ref18 = cbox[dim1], _ref19 = cbox[dim2]; _r <= _ref19; i = _r += 1) { + if (partialsum[i] > (total / 2)) { + cbox1 = cbox.copy(); + cbox2 = cbox.copy(); + left = i - cbox[dim1]; + right = cbox[dim2] - i; + if (left <= right) { + d2 = Math.min(cbox[dim2] - 1, ~~(i + right / 2)); + } else { + d2 = Math.max(cbox[dim1], ~~(i - 1 - left / 2)); + } + while (!partialsum[d2]) { + d2++; + } + count2 = lookaheadsum[d2]; + while (!count2 && partialsum[d2 - 1]) { + count2 = lookaheadsum[--d2]; + } + cbox1[dim2] = d2; + cbox2[dim1] = cbox1[dim2] + 1; + // console.log("cbox counts: " + (cbox.count()) + ", " + (cbox1.count()) + ", " + (cbox2.count())); + return [cbox1, cbox2]; + } + } + }; + if (maxw === rw) { + return doCut("r"); + } + if (maxw === gw) { + return doCut("g"); + } + if (maxw === bw) { + return doCut("b"); + } + }; + + MMCQ.prototype.quantize = function(pixels, maxcolors) { + var cbox, cmap, histo, iter, pq, pq2, + _this = this; + if ((!pixels.length) || (maxcolors < 2) || (maxcolors > 256)) { + console.log("invalid arguments"); + return false; + } + histo = getHisto(pixels); + cbox = cboxFromPixels(pixels, histo); + pq = new PriorityQueue(function(a, b) { + var va, vb; + va = a.count(); + vb = b.count(); + if (va > vb) { + return 1; + } else if (va < vb) { + return -1; + } else { + return 0; + } + }); + pq.push(cbox); + iter = function(lh, target) { + var cbox1, cbox2, cboxes, ncolors, niters; + ncolors = 1; + niters = 0; + while (niters < _this.maxIterations) { + cbox = lh.pop(); + if (!cbox.count()) { + lh.push(cbox); + niters++; + continue; + } + cboxes = medianCutApply(histo, cbox); + cbox1 = cboxes[0]; + cbox2 = cboxes[1]; + if (!cbox1) { + console.log("cbox1 not defined; shouldn't happen"); + return; + } + lh.push(cbox1); + if (cbox2) { + lh.push(cbox2); + ncolors++; + } + if (ncolors >= target) { + return; + } + if ((niters++) > _this.maxIterations) { + console.log("infinite loop; perhaps too few pixels"); + return; + } + } + }; + iter(pq, this.fractByPopulations * maxcolors); + pq2 = new PriorityQueue(function(a, b) { + var va, vb; + va = a.count() * a.volume(); + vb = b.count() * b.volume(); + if (va > vb) { + return 1; + } else if (va < vb) { + return -1; + } else { + return 0; + } + }); + while (pq.size()) { + pq2.push(pq.pop()); + } + iter(pq2, maxcolors - pq2.size()); + cmap = new ColorMap; + while (pq2.size()) { + cmap.push(pq2.pop()); + } + return cmap; + }; + + return MMCQ; + +}).call(this); + +// Generated by CoffeeScript 1.6.3 +(function() { + window.ColorExtract = (function() { + function ColorExtract() {} + + ColorExtract.getColorMap = function(canvas, sx, sy, w, h, nc) { + var index, indexBase, pdata, pixels, x, y, _i, _j, _ref, _ref1; + if (nc == null) { + nc = 8; + } + pdata = canvas.getContext("2d").getImageData(sx, sy, w, h).data; + pixels = []; + for (y = _i = sy, _ref = sy + h; _i < _ref; y = _i += 1) { + indexBase = y * w * 4; + for (x = _j = sx, _ref1 = sx + w; _j < _ref1; x = _j += 1) { + index = indexBase + (x * 4); + pixels.push([pdata[index], pdata[index + 1], pdata[index + 2]]); + } + } + return (new MMCQ).quantize(pixels, nc); + }; + + ColorExtract.colorDist = function(a, b) { + var square; + square = function(n) { + return n * n; + }; + return square(a[0] - b[0]) + square(a[1] - b[1]) + square(a[2] - b[2]); + }; + + ColorExtract.extract = function(image, canvas, callback) { + var bgColor, bgColorMap, bgPalette, color, dist, fgColor, fgColor2, fgColorMap, fgPalette, maxDist, rgbToCssString, _i, _j, _len, _len1; + canvas.width = 25; + canvas.height = 25; + canvas.getContext("2d").drawImage(image, 0, 0, canvas.width, canvas.height); + bgColorMap = ColorExtract.getColorMap(canvas, 0, 0, canvas.width, canvas.height, 4); + bgPalette = bgColorMap.cboxes.map(function(cbox) { + return { + count: cbox.cbox.count(), + rgb: cbox.color + }; + }); + bgPalette.sort(function(a, b) { + return b.count - a.count; + }); + bgColor = bgPalette[0].rgb; + fgColorMap = ColorExtract.getColorMap(canvas, 0, 0, image.width, image.height, 10); + fgPalette = fgColorMap.cboxes.map(function(cbox) { + return { + count: cbox.cbox.count(), + rgb: cbox.color + }; + }); + fgPalette.sort(function(a, b) { + return b.count - a.count; + }); + maxDist = 0; + for (_i = 0, _len = fgPalette.length; _i < _len; _i++) { + color = fgPalette[_i]; + dist = ColorExtract.colorDist(bgColor, color.rgb); + if (dist > maxDist) { + maxDist = dist; + fgColor = color.rgb; + } + } + maxDist = 0; + for (_j = 0, _len1 = fgPalette.length; _j < _len1; _j++) { + color = fgPalette[_j]; + dist = ColorExtract.colorDist(bgColor, color.rgb); + if (dist > maxDist && color.rgb !== fgColor) { + maxDist = dist; + fgColor2 = color.rgb; + } + } + rgbToCssString = function(color) { + return "rgb(" + color[0] + ", " + color[1] + ", " + color[2] + ")"; + }; + return callback({ + bgColor: rgbToCssString(bgColor), + fgColor: rgbToCssString(fgColor), + fgColor2: rgbToCssString(fgColor2) + }); + }; + + return ColorExtract; + + })(); + +}).call(this); diff --git a/sources/stylesheets/components/_blog-article-comments.scss b/sources/stylesheets/components/_blog-article-comments.scss new file mode 100644 index 0000000..2d9a019 --- /dev/null +++ b/sources/stylesheets/components/_blog-article-comments.scss @@ -0,0 +1,158 @@ +.article-comments { + transition: 250ms; + position: absolute; + top: 0; + right: -486px; + z-index: 1; + width: 440px; + padding: 45px 40px; + background-color: rgba($white, 1); + box-shadow: -10px 19px 30px rgba(68, 68, 68, .31); + box-sizing: border-box; + + @media screen and (max-width: $tablet-3) { + display: none; + right: 0; + box-sizing: border-box; + box-shadow: none; + transition: 0ms; + } + + &.open { + transition: 250ms; + top: 0; + right: 0; + box-shadow: 0 0 20px rgba($black, .1); + + @media screen and (max-width: $tablet-3) { + display: block; + transition: 0ms; + width: 100%; + } + } + + .comments-body { + max-height: 100%; + + @media screen and (max-width: $tablet-3) { + .comments-open & { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: auto; + -webkit-overflow-scrolling: touch; + box-sizing: border-box; + height: 100vh; + padding: 20px; + background-color: rgba($white, 1); + } + } + + .comments-header { + .comments-title { + margin-top: 0; + } + } + + .comments-title { + margin: 20px 0 $margin-low 0; + font-size: 24px; + font-weight: 300; + line-height: 1.7; + color: rgba($black, 1); + cursor: text; + text-transform: none; + + .comments-count { + display: inline-block; + font-size: 14px; + color: rgba($black, 1); + opacity: .35; + vertical-align: middle; + } + } + + .form_field_textfield, + .form_field_textarea { + padding-top: 10px; + padding-bottom: 10px; + background-color: rgba($white, 1); + } + } + + .comment { + margin: 20px 0 0; + color: rgba($black, .7); + + &:first-child { + margin-top: 0; + } + + .comment-body { + display: block; + font-size: 16px; + line-height: 24px; + } + + .comment-author, + .comment-date { + font-size: 14px; + font-weight: 300; + line-height: 2; + color: rgba($black, 1); + opacity: .35; + } + } + + .comments-close { + &.dark-background { + .btn-close { + background-color: rgba($white, 1); + + .ico-close { + fill: rgba($black, 1); + } + } + } + + .btn-close { + position: absolute; + top: 0; + left: -46px; + width: 46px; + height: 46px; + line-height: 1; + cursor: pointer; + background-color: rgba($black, 1); + + @media screen and (max-width: $tablet-2) { + right: 0; + left: auto; + background-color: rgba($white, 1); + } + + @media screen and (min-width: $tablet-2 + 1) { + &:hover { + transition: $transition; + opacity: .7; + } + } + + .ico-close { + padding: 15px; + fill: rgba($white, 1); + + @media screen and (max-width: $tablet-2) { + fill: rgba($black, .7); + + &:hover { + transition: $transition; + fill: rgba($black, .7); + } + } + } + } + } +} diff --git a/sources/stylesheets/components/_blog-tags.scss b/sources/stylesheets/components/_blog-tags.scss new file mode 100644 index 0000000..03a7bae --- /dev/null +++ b/sources/stylesheets/components/_blog-tags.scss @@ -0,0 +1,106 @@ +.blog-tags { + margin-bottom: 20px; + //color: rgba($black, .7); + + .dark-background & { + //color: rgba($white, .7); + } + + .blog-article & { + margin-bottom: 15px; + } + + .tags-toggle { + position: relative; + display: inline-block; + cursor: pointer; + } + + .tags-icon { + position: absolute; + top: -3px; + left: 0; + fill: rgba($black, .7); + + .dark-background & { + fill: rgba($white, .7); + } + } + + .tags-title { + padding: 0px 20px 0 25px; + font-weight: 400; + font-size: 14px; + text-transform: uppercase; + } + + .ico-arrow { + position: absolute; + right: 0; + top: 3px; + width: 0; + height: 0; + border-style: solid; + border-width: 8px 5px 0 5px; + border-color: rgba($black, 1) transparent transparent transparent; + + &.active { + border-width: 0 5px 8px 5px; + border-color: transparent transparent rgba($black, 1) transparent; + + .dark-background & { + border-color: rgba($white, 1) transparent transparent transparent; + } + } + + .dark-background & { + border-color: transparent transparent rgba($white, 1) transparent; + } + } + + .tags-bottom { + display: none; + margin-top: 15px; + + &.visible { + display: block; + } + } + + .menu { + display: inline-block; + padding-left: 0; + + .menu-item { + display: inline-block; + margin-top: 5px; + vertical-align: top; + + &:before { + display: none; + } + } + + .menu-link { + padding: 1px 5px; + font-size: 12px; + color: rgba(#a4a4a4, 1); + text-decoration: none; + border-radius: 3px; + background-color: rgba($black, .03); + + &:hover { + opacity: .7; + } + + &.active { + color: rgba($white, 1); + background-color: rgba(#a4a4a4, 1); + } + + .dark-background & { + background-color: rgba($white, .2); + } + } + } +} diff --git a/sources/stylesheets/components/_content-item.scss b/sources/stylesheets/components/_content-item.scss new file mode 100644 index 0000000..abf1333 --- /dev/null +++ b/sources/stylesheets/components/_content-item.scss @@ -0,0 +1,398 @@ +// ============================================================================= +// CONTENT ITEM BOXES +// ============================================================================= +.content-item-boxes { + margin-top: -15px; + font-size: 0; + line-height: 1.3; + + @media screen and (min-width: $nano + 1) and (max-width: $tablet-3) { + margin-right: -10px; + margin-left: -10px; + } + + @media screen and (min-width: $tablet-3 + 1) { + margin-right: -15px; + margin-left: -15px; + } +} + +.content-item-box { + color: rgba($black, .8); + + .item-list-page & { + box-sizing: border-box; + + @media screen and (max-width: $nano) { + display: block; + } + + @media screen and (min-width: $nano + 1) { + display: inline-block; + vertical-align: top; + } + + @media screen and (min-width: $nano + 1) and (max-width: $tablet-3) { + width: 50%; + padding: 10px 10px 5px 10px; + } + + @media screen and (min-width: $tablet-3 + 1) { + width: 33.3%; + min-width: 195px; + padding: 15px 2%; + } + + } + + .content-illustrations & { + margin-bottom: 40px; + } + + .top-inner { + opacity: 1; + + &::after { + .editmode &, + .item-list-page & { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + display: block; + background-color: $white; + content: ''; + opacity: 0; + transition: opacity .5s; + } + } + } + + &:hover { + .top-inner { + // scss-lint:disable NestingDepth + &::after { + .editmode &, + .item-list-page & { + opacity: .2; + } + } + // scss-lint:enable NestingDepth + } + } +} + +.content-items { + padding-right: 20px; + padding-left: 20px; + + @media screen and (max-width: $tablet-3) { + margin-top: 30px; + } + + @media screen and (min-width: $tablet-3 + 1) { + margin-top: 100px; + } +} + +.content-item { + margin-bottom: 15px; +} + +.item-top { + @include aspect-ratio(1, 1); + + &:hover { + .btn, + .edy-img-drop-area-remove-image { + opacity: 1; + } + } + + .btn { + padding: 0; + background-color: rgba($science-blue, .3); + border: 0; + opacity: 0; + transition: background-color .5s, opacity .5s; + + &:hover { + background-color: rgba($science-blue, 1); + } + } + + .bg-crop-btn { + @include size(45px); + position: absolute; + top: 0; + left: 0; + z-index: 9; + margin-top: 10px; + margin-left: 10px; + cursor: pointer; + border-radius: 100%; + color: rgba($white, 1); + + &:focus { + outline: 0; + } + + &.is-visible { + display: block; + } + + &.is-hidden, + .without-image & { + display: none; + } + } + + .edy-img-drop-area-remove-image { + @include size(45px); + top: 10px; + right: 10px; + z-index: 9; + color: rgba($white, 1); + background-color: rgba($science-blue, .3); + border: 0; + opacity: 0; + transition: background-color .5s, opacity .5s; + + &:hover { + background-color: rgba($science-blue, 1); + } + } + + .edy-img-drop-area-remove-image-ico { + margin-top: -10px; + margin-left: -8px; + } + + .top-inner { + @include hyphenate; + // scss-lint:disable ImportantRule + display: flex !important; + // scss-lint:enable ImportantRule + align-items: center; + justify-content: center; + font-weight: 300; + line-height: 1.2; + text-align: center; + + .publicmode & { + overflow: hidden; + + // scss-lint:disable SelectorDepth + // scss-lint:disable NestingDepth + .image-landscape { + &.not-cropped { + width: 100%; + height: auto; + max-width: 100%; + } + + &.is-cropped { + width: auto; + height: 100%; + } + } + + .image-portrait { + &.not-cropped { + width: auto; + height: 100%; + max-height: 100%; + } + + &.is-cropped { + width: 100%; + height: auto; + } + } + + .image-square { + width: 100%; + height: auto; + } + // scss-lint:enable NestingDepth + // scss-lint:enable SelectorDepth + } + + .with-image & { + background-color: rgba($black, .02); + } + + .without-image & { + border-color: rgba($black, .1); + border-style: solid; + border-width: 1px; + } + + @media screen and (max-width: $nano) { + font-size: 16px; + } + + @media screen and (min-width: $nano + 1) { + font-size: 13px; + } + + @media screen and (min-width: $micro + 1) { + font-size: 16px; + } + + @media screen and (min-width: $tiny + 1) { + font-size: 20px; + } + + @media screen and (min-width: $tablet-1 + 1) { + font-size: 30px; + } + } + + .image-drop-area { + // scss-lint:disable ImportantRule + background-position: center !important; + // scss-lint:enable ImportantRule + background-repeat: no-repeat; + + &.not-cropped { + background-size: contain; + } + + &:not(.active) { + border-color: rgba($black, .4); + border-style: dashed; + border-width: 1px; + + &:hover { + border-style: solid; + } + } + + .edy-img-drop-area-placeholder { + @media screen and (max-width: $tablet-3) { + font-size: 13px; + } + + @media screen and (min-width: $tablet-3 + 1) { + font-size: 18px; + } + } + } +} + +.item-image { + border: 0; + + .publicmode & { + &.is-cropped { + position: absolute; + top: -100%; + right: -100%; + bottom: -100%; + left: -100%; + max-width: none; + margin: auto; + } + } + + .item-list-page & { + display: block; + } +} + + +.item-placeholder { + width: 100%; + padding: .5em; + box-sizing: border-box; +} + +.item-title { + @include hyphenate; + margin-top: 0; + margin-bottom: 0; + line-height: 1.2; + text-align: center; + + .item-link { + color: inherit; + + .content-item-box & { + display: block; + } + } + + .item-list-page & { + font-weight: 400; + + @media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 13/10), only screen and (min-resolution: 120dpi) { + font-weight: 100; + } + } + + .content-item-box & { + @media screen and (max-width: $tablet-3) { + font-size: 13px; + } + + @media screen and (min-width: $tablet-3 + 1) { + font-size: 18px; + } + } + + .content-item & { + @media screen and (max-width: $tablet-3) { + font-size: 18px; + } + + @media screen and (min-width: $tablet-3 + 1) { + font-size: 30px; + } + } + + .blog-article-page & { + @media screen and (max-width: $tablet-3) { + font-size: 32px; + } + + @media screen and (min-width: $tablet-3 + 1) { + font-size: 50px; + } + } + + .content-item-box > & { + margin-top: 20px; + margin-bottom: 5px; + } +} + +.content-illustrations { + @media screen and (min-width: $tablet-3 + 1) { + flex: 1; + max-width: 520px; + margin-right: 40px; + } +} + +.content-body { + .item-page & { + @media screen and (max-width: $tablet-3) { + padding-top: 40px; + } + + @media screen and (min-width: $tablet-3 + 1) { + flex: 1; + } + } +} + +.items-body { + padding-top: 30px; + padding-bottom: 30px; + + @media screen and (min-width: $tablet-3 + 1) { + display: flex; + } +} diff --git a/sources/stylesheets/components/_navigation-menus.scss b/sources/stylesheets/components/_navigation-menus.scss new file mode 100644 index 0000000..27542ed --- /dev/null +++ b/sources/stylesheets/components/_navigation-menus.scss @@ -0,0 +1,896 @@ +/* NAVIGATION MENUS*/ +// Base +.menu-btn-wrap { + display: inline-block; + vertical-align: middle; + margin-left: 30px; + + &.menu-language-popover-btn { + .language-menu-mode-list & { + display: none; + } + } + + @media screen and (max-width: $tablet-1) { + display: none; + } +} + +.toggle-sub-menu { + @extend %button; + position: absolute; + top: 11px; + right: -10px; + display: block; + padding: 9px 11px 8px; + margin-top: -6px; + + .no-svg & { + &:before { + display: block; + width: 0; + height: 0; + content: ''; + border-width: 5px 0 5px 8px; + border-style: solid; + border-color: transparent transparent transparent rgba($black, 1); + } + } + + .svg & { + fill: rgba($black, 1); + opacity: .2; + } + + &.active { + .no-svg & { + &:before { + border-width: 8px 5px 0; + border-color:rgba($black, 1)transparent transparent transparent; + } + } + + .svg & { + transform: rotate(90deg); + } + } + + &.highlighted { + .no-svg & { + border-color: rgba($black, 1) transparent transparent transparent; + } + + .svg & { + fill: rgba($black, 1); + } + } +} + +.menu { + @include hyphenate(true); + margin-top: 0; + margin-bottom: 0; + padding-left: 0; + list-style-type: none; + + li { + font-weight: 300; + line-height: 1.7; + + &:last-child { + margin-right: 0; + } + + &.selected { + font-weight: 500; + } + + &.is-hidden { + display: none; + } + + a { + display: block; + border-style: none; + + &.untranslated { + color: rgba($red, .7); + + &:hover { + color: rgba($red, 1); + } + } + } + } +} + +// Main menu +.menu-main { + display: inline-block; + vertical-align: top; + text-transform: uppercase; + + li { + display: inline-block; + margin-left: $margin-low; + font-size: 16px; + } +} + +// Sub menu +.menu-sub { + li { + margin-right: 10px; + } +} + +// Language menu +.menu-language-settings { + margin-top: 0; + margin-bottom: 0; + padding-left: 0; + + .menu-item-cms { + .language-menu-mode-popover & { + // scss-lint:disable ImportantRule + padding-top: 5px !important; + // scss-lint:enable ImportantRule + } + + .language-menu-mode-list & { + // scss-lint:disable ImportantRule + padding-top: 2px !important; + // scss-lint:enable ImportantRule + } + } +} + +// Product list menu +.menu-item-list { + margin-top: 15px; + + &.is-hidden-desktop { + @media screen and (min-width: $tablet-1 + 1) { + display: none; + } + } + + .item-list-page & { + margin-bottom: 15px; + } + + .common-page & { + margin-bottom: 18px; + } + + .menu-item { + display: inline-block; + font-size: 14px; + opacity: .5; + + &:not(.current):hover { + opacity: .8; + } + + &.selected { + font-weight: 400; + } + + &.current { + font-weight: 500; + opacity: 1; + } + } +} + +.menu-item-cms { + margin-left: 10px; + + &.float-right { + float: right; + } +} + +.menu-separator { + opacity: .5; + + &:first-child { + display: none; + } +} + +/* mobile-menu */ +#mobile-menu { + display: none; +} + +.mobile-menu-toggler { + @extend %button; +} + +.mobile-menu-toggler, +.mobile-menu-toggler { + display: none; +} + +@media screen and (max-width: $tablet-1) { + .site-header { + .header-right { + .menu-main { + display: none; + } + } + } + + .mobilemenu-open, + .mobilesearch-open { + position: fixed; + overflow: hidden; + top: 0; + left: 0; + width: 100%; + height: 100%; + + #mobile-menu { + position: absolute; + top: 0; + width: 250px; + height: 100%; + } + } + + .mobile-menu-toggler { + position: absolute; + top: -12px; + right: -12px; + display: block; + width: 45px; + height: 44px; + outline: 0; + + span { + &, + &:before, + &:after { + position: absolute; + top: 14px; + left: 12px; + display: block; + width: 21px; + height: 2px; + content: ''; + background-color: rgba($black, 1); + + .dark-background & { + background-color: rgba($white, 1); + } + + .language-flags-disabled & { + .lang-menu-btn { + position: static; + width: auto; + height: auto; + background-color: rgba($red, 1); + + &:before, + &:after { + display: none; + } + + .lang-title { + position: static; + color: rgba($white, 1); + } + } + } + } + + &:before { + top: 7px; + left: 0; + } + + &:after { + top: 14px; + left: 0; + } + } + } + + #mobile-menu { + transition: transform .5s; + transform: translate3d(100%, 0, 0); + font-family: $font-main; + position: fixed; + z-index: 1000; + top: 0; + right: 0; + height: 100%; + display: block; + overflow: auto; + box-sizing: border-box; + width: 250px; + padding: 30px 20px; + background-color: rgba($white, 1); + + &.reset-touch { + -webkit-overflow-scrolling: touch; + } + + @media screen and (max-width: $tablet-3) { + padding-top: 10px; + } + + .editmode & { + height: calc(100% - 40px); + } + + .mobilemenu-open & { + transform: translate3d(0, 0, 0); + } + + .search-open-btn { + transition: right .3s; + position: absolute; + top: 28px; + right: 78px; + width: $button-square; + height: $button-square; + margin-left: 0; + + &.no-back-btn { + right: 108px; + } + + &.search-active { + display: none; + } + + svg { + fill: rgba($black, 1); + } + } + + ul { + margin: 0; + padding: 0; + list-style-type: none; + + li { + position: relative; + margin: 0; + + &.lang-item { + .language-names-disabled & { + position: relative; + left: -5px; + display: inline-block; + } + } + + &.is-hidden { + display: none; + } + + &.edit-btn { + margin: 10px 0; + } + } + + a { + line-height: 1.3; + padding: 10px 0; + text-transform: uppercase; + color: rgba($black, .7); + + &.lang-flag { + .language-names-enabled & { + font-size: 16px; + } + + .language-names-disabled & { + font-size: 0; + padding: 15px 15px 8px 16px; + opacity: .7; + + &:hover, + &.is-active { + opacity: 1; + } + } + } + + &.untranslated { + color: rgba($red, .7); + + &:hover { + color: rgba($red, 1); + } + } + } + } + + .navigation-menu { + word-break: break-all; + + .with-children { + > a { + margin-right: 30px; + } + } + + ul { + a { + display: block; + + &.visible { + display: inline-block; + } + + &.selected { + font-weight: 500; + color: rgba($black, 1); + } + + &.indented { + margin-left: 10px; + } + } + + &.current-menu { + > li:first-child { + > a { + text-transform: uppercase; + } + } + } + + &.child-menu { + li { + a { + &.edy-cbtn { + display: inline !important; + } + } + } + } + } + + .option-btn { + padding: 15px 0; + } + } + + .sub-menu { + a { + text-transform: initial; + } + } + + .menu-level-2, + .menu-level-3 { + display: none; + padding-left: 10px; + } + + .current-parent { + > .menu-level-2, > .menu-level-3 { + display: block; + } + } + + .lang-menu { + display: block; + margin-top: 20px; + margin-left: 0; + + ul { + margin: 0; + padding: 0; + + li { + text-align: left; + + a { + padding: 7px 0 5px; + text-align: left; + + &.lang-flag { + &:before, + &:after { + .language-names-enabled & { + top: 8px; + right: auto; + left: 0; + } + + .language-names-disabled & { + top: 5px; + left: 5px; + } + } + } + + &.is-active { + font-weight: 500; + color: rgba($black, 1); + } + } + } + } + } + + .language-flags-enabled & { + .lang-menu { + a { + padding-left: 25px; + } + } + } + } +} + +/* flags */ +.lang-flag { + &:before, + &:after { + position: absolute; + top: 0; + left: 0; + display: block; + width: 21px; + height: 15px; + content: ''; + + .language-flags-disabled & { + display: none; + } + } + + &:after { + background-position: -189px -60px; + } +} + +.lang-flag:before { + background-color: rgba($black, 1); +} + +.lang-flag:after { + padding-top: 3px; + padding-bottom: 3px; + font-size: 9px; + line-height: 1; + text-align: center; + text-transform: uppercase; + background-position: 0 -75px; + background-repeat: no-repeat; + content: attr(data-lang-code); + opacity: .95; + box-sizing: border-box; + + .no-boxshadow & { + border: 1px solid rgba($white, 1); + } + .svg & { + background-image: url('../assets/ico-flags.svg'); + } + .no-svg { + background-image: url('../images/ico-flags.png'); + } +} + +// Language flag icons positioning in the spritemap. +$flags: + (sq, 0 0), // Albanian (Albania) + (hy, -21px 0), // Armenian (Armenia) + (bn, -42px 0), // Bengali (Bangladesh) + // (pt, -63px 0), // Brazilian Portuguese (Brazil) + (bg, -84px 0), // Bulgarian (Bulgaria) + (zh, -105px 0), // Chinese (China) + (hr, -126px 0), // Croatian (Croatia) + (da, -147px 0), // Danish (Denmark) + (cs, -168px 0), // Czech (Czech Republic) + (et, -189px 0), // Estonian (Estonia) + + (fi, 0 -15px), // Finnish (Finland) + (fr, -21px -15px), // French (France) + (ka, -42px -15px), // Georgian (Georgia) + (de, -63px -15px), // German (Germany) + (el, -84px -15px), // Greek (Greece) + (hu, -105px -15px), // Hungarian (Hungary) + (is, -126px -15px), // Icelandic (Iceland) + (hi, -147px -15px), // Hindi (India) + (id, -168px -15px), // Indonesian (Indonesia) + (fa, -189px -15px), // Iranian (Iran) + + (he, 0 -30px), // Hebrew (Israel) + (it, -21px -30px), // Italian (Italy) + (ja, -42px -30px), // Japanese (Japan) + (ko, -63px -30px), // Korean (Korea, South) + (lv, -84px -30px), // Latvian (Latvia) + (lt, -105px -30px), // Lithuanian (Lithuania) + (ms, -126px -30px), // Malaysian (Malaysia) + (nl, -147px -30px), // Dutch (Netherlands) + (no, -168px -30px), // Norwegian (Norway) + (ur, -189px -30px), // Urdu (Pakistan) + + (fil, 0 -45px), // Filipino (Philippines) + (pl, -21px -45px), // Polish (Poland) + (ro, -42px -45px), // Romanian (Romania) + (ru, -63px -45px), // Russian (Russia) + (ar, -84px -45px), // Arabic (Saudi Arabia) + (sk, -105px -45px), // Slovakian (Slovakia) + (sl, -126px -45px), // Slovenian (Slovenia) + (es, -147px -45px), // Spanish (Spain) + (sv, -168px -45px), // Swedish (Sweden) + (tr, -189px -45px), // Turkish (Turkey) + + (uk, 0 -60px), // Ukrainian (Ukraine) + (en, -21px -60px), // American English (United States of America) + // (fr, -42px -60px), // French (Ivory Coast) + // (en, -63px -60px), // British English (Great Britian) + (pt, -84px -60px), // Portuguese (Portuguese Republic) + // (en, -105px -60px), // Canadian English (Canada) + (sr, -126px -60px), // Serbian (Republic of Serbia) + (bn, -147px -60px), // Dutch, French, German (Kingdom of Belgium) + // (en, -168px -60px), // Australian English (Commonwealth of Australia) + (th, -189px -60px) // Thai (Thailand) +; + +@each $flag, $pos in $flags { + .lang-flag-#{$flag}:after { + background-position: $pos; + content: ''; + } +} + +/* langmenu */ +.lang-menu { + display: inline-block; + margin-left: 40px; + vertical-align: top; + + @media screen and (max-width: $tablet-1) { + display: none; + } + + &.menu-language-list { + .language-menu-mode-popover & { + display: none; + } + + .lang-title { + display: inline-block; + + a { + opacity: .7; + + &:hover { + opacity: 1; + } + + &.is-active { + font-weight: 400; + opacity: 1; + } + } + } + + .menu-item-cms { + display: inline-block; + padding-left: 5px; + } + } + + li { + line-height: normal; + display: block; + text-align: right; + text-transform: uppercase; + + a { + font-weight: 400; + color: rgba($black, .7); + } + + &.menu-item-cms { + padding-right: 18px; + padding-left: 18px; + + &:last-child { + padding-top: 5px; + padding-bottom: 10px; + + .language-menu-mode-list & { + padding-right: 9px; + } + + #mobile-menu & { + padding-top: 0; + padding-left: 0 + } + } + } + } + + a { + &.lang-flag { + position: relative; + display: block; + text-align: right; + + .dark-background &, + .light-background & { + color: rgba($black, .7); + + &:hover { + color: rgba($black, 1); + } + } + + .language-names-enabled.language-flags-enabled & { + padding: 5px 40px 5px 13px; + } + + .language-menu-mode-popover.language-names-disabled.language-flags-enabled & { + padding: 15px 32px 14px 13px + } + + .language-menu-mode-list.language-names-disabled.language-flags-enabled & { + padding: 15px 15px 8px 16px; + } + + &:before, + &:after { + left: 12px; + + .language-menu-mode-popover & { + top: 7px; + } + + .language-menu-mode-list.language-names-disabled.language-flags-enabled & { + left: 5px; + } + + .language-menu-mode-list.language-names-disabled.language-flags-enabled &, + .language-menu-mode-list.language-names-enabled.language-flags-enabled & { + top: 5px; + } + } + + &:before, + &:after { + right: 12px; + left: auto; + } + } + + &.edy-menu-langadd { + padding: 5px; + } + } + + .language-flags-disabled & { + a.lang-flag { + padding: 5px 10px; + } + } + + .language-menu-mode-list.language-flags-disabled & { + .lang-title { + &:last-child { + a.lang-flag { + padding-right: 0; + } + } + } + } +} + +.lang-title { + text-transform: uppercase; + background-color: transparent; + + a { + text-transform: uppercase; + background-color: transparent; + + .language-names-enabled & { + font-size: 14px; + } + + .language-names-disabled & { + font-size: 0; + } + } +} + +.lang-menu-btn { + @extend %button; + font-family: inherit; + font-size: 14px; + position: relative; + display: block; + margin: 0; + padding: 6px 3px; + cursor: pointer; + border: none; + background: none; + line-height: 1; + + .language-flags-enabled & { + width: 21px; + padding: 13px 14px 13px 13px; + + .lang-title { + display: none; + } + } + + &.lang-flag { + &:before, + &:after { + top: 6px; + left: 3px; + } + } + + .lang-title-inner { + position: relative; + padding: 5px 12px 5px 5px; + + &:after { + position: absolute; + top: 50%; + right: 0; + display: block; + margin-top: -3px; + width: 0; + height: 0; + content: ""; + border-style: solid; + border-width: 6px 3px 0 3px; + border-color: rgba($black, 1) transparent transparent transparent; + + .dark-background & { + border-color: rgba($white, 1) transparent transparent transparent; + } + } + } +} + +.lang-menu-popover { + line-height: 1; + position: absolute; + z-index: 1; + display: none; + padding: 5px 0; + text-align: left; + background-color: rgba($white, 1); + box-shadow: 0 0 5px rgba($black, .3); + + .no-boxshadow & { + border: 1px solid rgba($white, 1); + } + + .editmode & { + padding-bottom: 0; + } + + .menu-language-popover-open & { + @media screen and (min-width: $tablet-1 + 1) { + display: block; + } + } + + a { + &:hover { + background-color: rgba($black, .1); + } + + &.active { + background-color: rgba($black, .2); + } + } +} diff --git a/sources/stylesheets/components/_site-footer.scss b/sources/stylesheets/components/_site-footer.scss new file mode 100644 index 0000000..4e1eb42 --- /dev/null +++ b/sources/stylesheets/components/_site-footer.scss @@ -0,0 +1,163 @@ +.site-footer { + position: relative; + min-height: $height-base; + + .inner { + min-height: 25px; + padding-top: $padding-medium; + padding-bottom: $padding-medium; + } + + .dark-background { + .content-area { + + a { + color: rgba($white, 1); + } + } + } + .voog-reference { + opacity: .55; + padding: 0 0 40px; + color: rgba($black, 1); + text-align: center; + &:hover { + opacity: .8; + } + } + .voog-reference-with-padding { + padding-top: 40px; + } + .blog-article-nav { + @extend %clearfix; + @include hyphenate(true); + display: table; + width: 100%; + background-color: rgba($white, 1); + + @media screen and (max-width: $tablet-3) { + display: block; + } + .article-nav-full, + .article-nav-half { + position: relative; + display: table-cell; + box-sizing: border-box; + width: 50%; + vertical-align: top; + border-top: 1px solid rgba($black, .1); + + @media screen and (max-width: $tablet-3) { + display: block; + width: 100%; + } + + &:hover { + transition: $transition; + .article-nav-title { + opacity: 1; + } + + .article-nav-direction { + opacity: .7; + } + } + + a { + display: block; + // overflow: auto; + // -webkit-overflow-scrolling: touch; + height: 100%; + padding: 55px 50px; + @media screen and (max-width: $tablet-3) { + padding: $margin-medium $margin-low; + text-align: center; + } + } + } + .article-nav-full { + display: block; + width: 100%; + a { + text-align: center; + } + } + .article-nav-prev { + text-align: right; + } + .article-nav-next { + border-left: 1px solid rgba($black, .1); + + @media screen and (max-width: $tablet-3) { + margin-left: 0; + border-top: 1px solid rgba($black, .1); + border-left: 0; + } + } + .article-nav-inner { + display: inline-block; + width: 100%; + max-width: 400px; + } + + .article-nav-direction { + margin-bottom: 3px; + font-size: 12px; + font-weight: 400; + line-height: 2; + color: rgba($black, 1); + opacity: .35; + letter-spacing: 1px; + text-transform: uppercase; + } + + .article-nav-title { + font-size: 20px; + line-height: 30px; + color: rgba($black, 1); + opacity: .7; + } + + .article-nav-bg { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: -1; + } + + &.dark-background { + .article-nav-full, + .article-nav-half { + border-top: 1px solid rgba($white, .1); + } + + .article-nav-title { + color: rgba($white, .7); + } + + .article-nav-direction { + color: rgba($white, .35); + } + + .article-nav-next { + border-left: 1px solid rgba($white, .1); + + @media screen and (max-width: $tablet-3) { + border-top: 1px solid rgba($white, .1); + } + } + } + } + + .comments-open & { + @media screen and (max-width: $tablet-3) { + display: none; + } + } + + .footer-body { + position: relative; + } +} diff --git a/sources/stylesheets/components/_site-header.scss b/sources/stylesheets/components/_site-header.scss new file mode 100644 index 0000000..4639e1b --- /dev/null +++ b/sources/stylesheets/components/_site-header.scss @@ -0,0 +1,236 @@ +.site-header { + @extend %clearfix; + @media screen and (max-width: $tablet-2) { + .header-left, + .header-right { + float: none; + + .no-flexbox & { + display: table-cell; + vertical-align: top; + } + } + + .header-left { + flex: 1; + } + } + position: relative; + @media screen and (max-width: $tablet-3) { + .search-open & { + position: static; + } + } + .header-top { + .wrap { + $header-padding: 40px; + padding-top: $header-padding; + padding-right: 40px; + padding-left: 40px; + + .flexbox & { + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + } + + .header-top-with-bg & { + padding-bottom: 40px; + + @media screen and (max-width: $tablet-3) { + padding-bottom: 14px; + } + } + + @media screen and (max-width: $tablet-3) { + padding-top: 20px; + padding-right: 20px; + padding-left: 20px; + } + } + + .site-options { + //position: relative; + //right: -4px; + display: inline-block; + vertical-align: top; + height: 27px; + + @media screen and (max-width: $tablet-1) { + margin-left: 20px; + } + } + } + + .header-title { + @include hyphenate(true); + font-size: 22px; + font-weight: 300; + line-height: 1; + position: relative; + min-width: 140px; + + a { + text-decoration: none; + + &:hover { + opacity: .7; + } + } + } + + .header-body { + .blog-article-page & { + text-align: center; + } + } + + .header-left { + max-width: 100%; + + .flexbox & { + flex: 1 0 auto; + } + + .no-flexbox & { + float: left; + @media screen and (max-width: $tablet-3) { + float: none; + } + } + } + + .header-right { + position: relative; + text-align: right; + + @media screen and (max-width: $tablet-1) { + margin-top: 1px; + } + + @media screen and (max-width: $tablet-3) { + .search-open & { + position: static; + } + } + + .no-flexbox & { + float: right; + } + } + + .header-bottom { + .header-bottom-inner { + display: table; + width: 100%; + max-width: $width-max; + margin: 0 auto; + table-layout: fixed; + border-collapse: collapse; + + .common-page &, + .blog-news-page &, + .blog-article-page &, + .item-list-page & { + height: 253px; + + @media screen and (max-width: $tablet-3) { + height: 130px; + } + } + + .front-page & { + height: 606px; + + @media screen and (max-width: $tablet-3) { + height: 400px; + } + } + + &.header-bottom-only { + .wrap { + padding-top: 90px; + } + } + + .wrap { + display: table-cell; + padding: 60px 40px 90px; + vertical-align: middle; + + .header-top-with-bg & { + padding-top: 74px; + padding-bottom: 76px; + } + + @media screen and (max-width: $tablet-3) { + padding: 40px 20px 60px; + + .header-top-with-bg & { + padding-top: 49px; + padding-bottom: 51px; + } + } + } + } + } + + &.photo-article { + .header-bottom { + .header-bottom-inner { + height: 606px; + + @media screen and (max-width: $tablet-3) { + height: 400px; + } + } + } + } + .header-body { + .article-author, + .article-date { + font-size: 14px; + font-weight: 400; + line-height: 2; + display: inline; + letter-spacing: 1px; + text-transform: uppercase; + + &.is-hidden { + display: none; + } + } + + .article-title { + font-size: 60px; + font-weight: 300; + line-height: 1.2; + margin: 0 0 10px; + text-transform: none; + + .publicmode & { + cursor: pointer; + } + + @media screen and (max-width: $tablet-3) { + font-size: 32px; + } + + a { + font-size: 1em; + text-decoration: none; + } + } + + .blog-title { + font-weight: 700; + line-height: 1; + margin-top: 0; + text-transform: uppercase; + + &.is-hidden { + display: none; + } + } + } +} diff --git a/sources/stylesheets/components/_site-search.scss b/sources/stylesheets/components/_site-search.scss new file mode 100644 index 0000000..a4113ef --- /dev/null +++ b/sources/stylesheets/components/_site-search.scss @@ -0,0 +1,329 @@ +.site-search { + margin-right: 10px; + + .search-input { + @extend %input-ios-reset; + @extend %inherit-base-font; + width: 128px; + padding: 4px 5px 3px; + font-size: 14px; + border-width: 1px; + border-style: solid; + border-color: rgba($black, .53); + border-radius: 3px; + } + + .search-submit { + position: relative; + top: -1px; + } +} + +/* SEARCH */ +.search, +.search-form { + @extend %clearfix; +} + +.search { + display: none; + position: absolute; + width: 310px; + height: 50px; + line-height: 1; + + @media screen and (max-width: $tablet-3) { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + height: auto; + width: auto; + background-color: #f7f7f7; + } + + &.active { + position: absolute; + right: 0; + z-index: 20; + display: block; + + @media screen and (min-width: $tablet-3 + 1) { + top: 30px; + } + } +} + +.search-middle { + vertical-align: middle; + width: 100%; + box-sizing: border-box; +} + +.search-inner { + position: relative; + box-shadow: 0 2px 4px 0 rgba($black, .1); +} + +.search-form { + position: relative; + z-index: 20; + background-color: rgba($white, 1); + box-shadow: 0 2px 4px 0 rgba($black, .1); + + @media screen and (max-width: $tablet-3) { + padding-top: 10px; + padding-bottom: 6px; + box-shadow: 0 1px 1px 0 rgba($black, .1); + } + + &, + &.selected { + margin: 0 auto; + border: none; + + @media screen and (min-width: $tablet-3 + 1) { + max-width: 400px; + } + } +} + +.search-input { + vertical-align: middle; + width: 100%; + height: 40px; + margin: 0; + padding: 0 55px 0 15px; + font-family: inherit; + font-size: 16px; + line-height: 20px; + color: rgba($black, 1); + background: none; + box-sizing: border-box; + border: none; + + @media screen and (max-width: $tablet-3) { + .search-open & { + padding: 0px 61px 0 42px; + } + } + + // Removes the clear input button in IE11 + &::-ms-clear { + display: none; + } + + &::-webkit-input-placeholder { + padding: 2px 0 4px 0; + line-height: 1; + color: rgba($black, .5); + } + + &:focus { + outline: none; + } +} + +.search-btn, +.search-submit { + @extend %button; + width: 30px; + height: 50px; + background-color: transparent; + + .no-svg & { + background-position: center; + background-repeat: no-repeat; + background-image: url('../images/ico-search-white.png'); + } + + .light-background & { + .no-svg & { + background-image: url('../images/ico-search-black.png'); + } + } +} + +.search-submit { + opacity: .5; + position: absolute; + top: 0; + right: 25px; + padding-top: 2px; + width: 41px; + background-size: 32px; + background-color: transparent; + + &:hover { + opacity: 1; + } +} + +.search-btn { + z-index: 21; + vertical-align: middle; + width: 26px; + height: 26px; + font-size: 0; + + @media screen and (min-width: $tablet-1 + 1) { + margin-left: 28px; + } + + @media screen and (max-width: $tablet-1) { + margin-right: 36px; + top: -3px; + position: relative; + + .search-active & { + position: static; + } + } + + .header-options & { + .front-page & { + top: 1px; + } + + .content-page & { + top: 4px; + } + } + + svg { + .header-options & { + fill: rgba($black, .7); + + .front-page & { + fill: rgba($white, 1); + } + } + + .light-background & { + .front-page & { + fill: rgba($black, 1); + } + } + } + + &:hover { + svg { + fill: rgba($black, .47); + } + } + + &:focus { + outline: none; + } + + @media screen and (max-width: $tablet-3) { + .content-page .header-options & { + margin-right: 35px; + } + } +} + +.search-open-btn { + @media screen and (max-width: $tablet-3) { + .search-open & { + margin: 0; + position: absolute; + top: 16px; + left: 10px; + } + + .comments-open & { + display: none; + } + } +} + +.search-close-btn { + position: absolute; + right: 0; + width: auto; + height: auto; + margin: 0; + border-left: 1px solid #eeeeee; + + @media screen and (min-width: $tablet-3 + 1) { + top: 8px; + padding: 8px 15px; + } + + @media screen and (max-width: $tablet-3) { + top: 10px; + z-index: 1000; + padding: 12px 20px; + } +} + +.voog-search-modal { + display: none; + box-sizing: border-box; + z-index: 999; + width: 100%; + max-height: calc(100vh - 140px); + margin: 0 auto; + background-color: rgba($white, 1); + box-shadow: none; + overflow: auto; + -webkit-overflow-scrolling: touch; + text-align: left; + + &.no-content { + padding: 20px; + color: rgba($black, 1); + } + + &.search-results-active { + display: block; + } + + @media screen and (min-width: $tablet-3 + 1) { + max-width: 400px; + } +} + +.voog-search-modal-results { + h3 { + margin: 0; + font-size: 16px; + color: rgba($black, 1); + font-weight: 400; + line-height: 1.3; + + a { + text-decoration: none; + color: rgba($black, 1); + + &:hover { + color: rgba($black, .8); + } + } + } + + p { + margin: 5px 0 0; + font-size: 14px; + line-height: 24px; + color: rgba($black, .7); + } + + em { + font-style: normal; + background-color: rgba($yellow, .5); + border-radius: 2px; + padding: 0 2px; + } +} + +.voog-search-modal-result { + padding: 15px; + border-top: rgba($black, .13) solid 1px; + + &:first-of-type { + border-top: 1px solid transparent; + } +} diff --git a/sources/stylesheets/components/_site-sidebar.scss b/sources/stylesheets/components/_site-sidebar.scss new file mode 100644 index 0000000..8a7934c --- /dev/null +++ b/sources/stylesheets/components/_site-sidebar.scss @@ -0,0 +1,151 @@ +.site-sidebar { + display: inline-block; + vertical-align: top; + width: 220px; + margin: 50px 0 50px 40px; + + @media screen and (max-width: $tablet-1) { + display: none; + } + @media screen and (min-width: $wide-1) { + width: 20%; + } + + .sidebar-title { + font-size: 18px; + font-weight: 400; + line-height: 2; + text-transform: uppercase; + margin: 0; + + @media screen and (max-width: $tablet-1) { + display: none; + } + + a { + color: rgba($black, 1); + + .dark-background & { + color: rgba($white, 1); + } + } + + } + + .submenu { + margin-bottom: 0; + padding: 0; + + ul, li { + list-style: none; + } + + li { + font-size: 18px; + font-weight: 300; + line-height: 1.7; + margin: 15px 0; + + &:last-child { + margin-bottom: 0; + } + + @media screen and (max-width: $tablet-1) { + display: inline-block; + margin-right: $margin-low; + } + } + + a { + color: rgba($black, 1); + opacity: .5; + + .dark-background & { + color: rgba($white, 1); + } + + &:hover { + opacity: 1; + + .dark-background & { + color: rgba($white, .8); + } + } + + &.untranslated { + color: rgba($red, .7); + + &:hover { + color: rgba($red, 1); + } + } + } + .selected { + font-weight: 500; + opacity: 1; + + .dark-background & { + color: rgba($white, 1); + + &:hover { + color: rgba($white, 1); + } + } + } + + .submenu-lvl2 { + padding-left: 25px; + + @media screen and (max-width: $tablet-1) { + display: none; + } + + li { + font-size: 16px; + line-height: 1.7; + font-weight: 300; + } + + a { + color: rgba($black, 1); + opacity: 1; + + .dark-background & { + color: rgba($white, 1); + + &:hover { + color: rgba($white, .5); + } + } + + &:hover { + opacity: .5; + } + + &.untranslated { + color: rgba($red, .7); + + &:hover { + color: rgba($red, 1); + } + } + } + + .selected { + font-weight: 500; + + .dark-background & { + color: rgba($white, 1); + + a:hover { + color: rgba($white, 1); + } + } + + a:hover { + opacity: 1; + } + } + } + } +} diff --git a/sources/stylesheets/components/_site-signout.scss b/sources/stylesheets/components/_site-signout.scss new file mode 100644 index 0000000..46e786d --- /dev/null +++ b/sources/stylesheets/components/_site-signout.scss @@ -0,0 +1,48 @@ +.signout-btn-wrap { + position: fixed; + right: 5px; + bottom: 5px; + z-index: 10000; + white-space: nowrap; + background-color: $color-toolbar-bg; + height: 35px; + border-radius: 3px; + text-align: center; + box-shadow: 0 1px 6px rgba(0,0,0,0.5); + + &:hover { + background-color: $color-silver-2; + } + + .signout-link { + position: relative; + z-index: 10; + display: block; + padding: 0 10px; + } + + .signout-name { + display: inline-block; + vertical-align: top; + font-size: 14px; + font-weight: 400; + font-family: $avenir; + line-height: 37px; + padding-left: 8px; + color: rgba($color-common-gray, 0.8); + + &:hover { + color: rgba($color-common-gray, 0.9); + } + } + + .signout-ico { + height: 35px; + display: inline-block; + color: rgba($color-common-gray, 0.7) + } + + .signout-svg { + margin-top: 3px; + } +} diff --git a/sources/stylesheets/content/_buy-button.scss b/sources/stylesheets/content/_buy-button.scss new file mode 100644 index 0000000..f7c5a04 --- /dev/null +++ b/sources/stylesheets/content/_buy-button.scss @@ -0,0 +1,25 @@ +// ============================================================================= +// Content area buy button +// ============================================================================= +.content-area { + .edy-buy-button-container { + // sass-lint:disable class-name-format + .form_field { + padding-top: 12px; + } + // sass-lint:enable class-name-format + } + + .edy-buy-button-variants { + // sass-lint:disable class-name-format + .form_field { + padding-top: 6px; + padding-bottom: 6px; + } + + .form_field_select { + width: initial; + } + // sass-lint:enable class-name-format + } +} diff --git a/sources/stylesheets/content/_form.scss b/sources/stylesheets/content/_form.scss new file mode 100644 index 0000000..d2b70bb --- /dev/null +++ b/sources/stylesheets/content/_form.scss @@ -0,0 +1,352 @@ +.content-area { + form, + .form { + clear: both; + font-size: 14px; + } + + .form_field { + padding-top: 8px; + padding-bottom: 8px; + + &:first-child { + padding-top: 0; + } + + &:last-child { + padding-bottom: 0; + } + + label, + .edy-fe-label { + font-size: 16px; + position: relative; + display: block; + margin-bottom: 5px; + } + } + + .form_field_required { + .form_field_label:after { + content: '* \a'; + } + } + + .form_field_textfield, + .form_field_textarea, + .form_field_select, + .form_field_radio + .form_control_indicator, + .form_field_checkbox + .form_control_indicator { + + .dark-background & { + background-color: rgba($white, .1); + } + + .light-background & { + background-color: rgba($black, .03); + } + } + + .form_field_textfield, + .form_field_textarea, + .form_field_select { + @extend %input-ios-reset; + @extend %inherit-base-font; + font-size: 16px; + font-weight: 300; + line-height: 26px; + box-sizing: border-box; + max-width: 100%; + padding: 8px 13px; + vertical-align: bottom; + border-width: 1px; + border-style: solid; + outline: none; + + &::placeholder { + color: rgba($black, 1); + opacity: .35; + } + + .dark-background & { + color: rgba($white, 1); + border-color: rgba($white, .3); + } + + .light-background & { + color: rgba($black, .7); + border-color: rgba($black, .13); + } + + &:focus { + .dark-background & { + border-color: rgba($white, 1); + } + + .light-background & { + border-color: rgba($black, .35); + } + } + + &.form_field_size_small { + width: 280px; + } + + &.form_field_size_medium { + width: 420px; + } + + &.form_field_size_large { + width: 100%; + } + } + + .form_field_select { + position: relative; + padding-right: 27px; + background-repeat: no-repeat; + background-position: right 10px center; + -moz-appearance: none; + -ms-appearance: none; + + .dark-background & { + background-image: url('../assets/ico-arrow-white.svg'); + } + + .light-background & { + background-image: url('../assets/ico-arrow.svg'); + } + + + &::-ms-expand { + display: none; + } + + &:after { + position: absolute; + top: 0; + right: 15px; + bottom: 0; + display: block; + width: 0; + height: 0; + margin: auto 0; + content: ''; + border-top: 5px solid #cccccc; + border-right: 5px solid transparent; + border-left: 5px solid transparent; + } + + &.form_field_size_small { + min-width: auto; + } + + &.form_field_size_medium { + min-width: 124px; + } + &.form_field_size_large { + min-width: 184px; + } + } + + .form_field_radio, + .form_field_checkbox { + .svg & { + display: none; + + + .form_control_indicator { + @include size(18px); + position: relative; + display: inline-block; + margin-right: 10px; + vertical-align: middle; + border-width: 1px; + border-style: solid; + border-color: rgba($black, .2); + } + } + + .dark-background & { + .svg & { + + .form_control_indicator { + border-color: rgba($white, .2); + } + } + } + } + + .form_field_radio { + .svg & { + + .form_control_indicator { + top: -1px; + border-radius: 100%; + + &:before { + @include size(12px); + transform: scale(0); + transition: transform .15s ease; + position: absolute; + top: 3px; + left: 3px; + content: ''; + border-radius: 100%; + background-color: rgba($black, .4); + } + } + + &:checked { + + .form_control_indicator { + &:before { + transform: scale(1); + transition: transform .15s ease; + } + } + } + } + + .dark-background & { + .svg & { + &:checked { + + .form_control_indicator { + &:before { + background-color: rgba($white, .4); + } + } + } + } + } + } + + .form_field_checkbox { + .svg & { + + .form_control_indicator { + top: -2px; + + &:before { + transform: scale(0) rotate(45deg); + display: block; + width: 5px; + height: 10px; + margin: 1px 0 0 6px; + content: ''; + transition: transform .15s ease 0s; + border-width: 0 2px 2px 0; + border-style: none solid solid none; + border-color: rgba($black, .4); + } + } + + &:checked { + + .form_control_indicator { + &:before { + transform: scale(1) rotate(45deg); + transition: transform .15s ease; + } + } + } + } + + .dark-background & { + .svg & { + + .form_control_indicator { + &:before { + border-color: rgba($white, .2); + } + } + } + } + } + + .form_submit { + margin-top: 16px; + + input { + -webkit-appearance: none; + -webkit-border-radius: 0; + border-radius: 0; + font-family: $font-main; + font-size: 14px; + font-weight: 400; + line-height: 2; + padding: 10px 20px; + cursor: pointer; + text-transform: uppercase; + border: none; + + &:hover { + opacity: .7; + } + + .dark-background & { + color: rgba($black, 1); + background-color: rgba($white, 1); + + } + + .light-background & { + color: rgba($white, 1); + background-color: rgba($black, 1); + } + + @media screen and (min-width: $tablet-2) { + .content-half & { + width: 100%; + } + } + + @media screen and (max-width: $tablet-3) { + .content-half & { + width: 100%; + } + } + + &:hover { + transition: $transition; + } + + &:focus { + outline: none; + } + } + } + + .article-comments { + .form_submit { + input { + width: 100%; + } + } + } + + .form_error, + .form_notice { + font-size: 22px; + font-weight: 300; + } + + .form_error, + .form_field_error { + color: rgba($error-color, 1); + } + + .form_error { + margin-bottom: $margin-low; + color: rgba($error-color, 1); + } + + .form_field_with_errors { + .form_field_textfield, + .form_field_textarea { + border: 1px solid rgba($error-color, 1); + } + } + + .form_field_error { + font-size: 14px; + } + + .form_notice { + margin-bottom: $margin-low; + color: rgba($success-color, .70); + } +} diff --git a/sources/stylesheets/content/_text.scss b/sources/stylesheets/content/_text.scss new file mode 100644 index 0000000..bc2e30f --- /dev/null +++ b/sources/stylesheets/content/_text.scss @@ -0,0 +1,610 @@ +// Styling rules for the site's editable content areas. +// NB! Each editable content-area - {% content %} - should be wrapped in the element that has the "content-area" class. +// NB! Contact forms, image galleries and tables styling rules are located in the separate partials: "_forms.scss", "_gallery.scss" and "_tables.scss". +.content-area { + &:empty { + display: none; + } + + @extend %clearfix; + @include hyphenate(true); + color: rgba($black, .7); + font-size: 18px; + line-height: 1.7; + + .dark-background & { + color: rgba($white, 1); + + .site-footer & { + color: rgba($white, 1); + } + } + + .site-footer & { + text-align: center; + font-size: 14px; + color: rgba($black, .7); + } + + &.footer-left { + font-size: 20px; + } + + &.footer-right { + font-size: 16px; + } + + // Resets the top margin for the first element and bottom margin for the last element in the content area (to prevent unwanted white-space at the beginning and the end of a content-area). + h1, + h2, + h3, + h4, + h5, + h6, + p, + ul, + ol, + dl, + table, + pre, + code, + iframe, + table, + form, + .table-container, + .edy-positionable-container-left-block, + .edy-positionable-container-center-block, + .edy-positionable-container-right-block, + .edy-texteditor-container-wrapper-left-block, + .edy-texteditor-container-wrapper-center, + .edy-texteditor-container-wrapper-right-block, + .edy-positionable-container-maxwidth { + &:first-child { + margin-top: 0; + } + + &:last-child { + margin-bottom: 0; + } + } + + // Styling rules for the editable content area headings and paragraphs. + h1, + h2, + h3, + h4, + h5, + h6, + p, + ul, + ol, + pre, + code, + table { + .dark-background & { + color: rgba($white, 1); + } + + .footer-inner.dark-background & { + color: rgba($white, .5); + } + } + + // Styling rules for the editable content area headings. + h1, + h2, + h3, + h4, + h5, + h6 { + font-weight: 300; + color: rgba($black, 1); + line-height: 1.4; + + a { + color: rgba($black, 1); + text-decoration: none; + } + } + + h1, + h2 { + .site-header & { + &:first-child { + margin-top: 0; + } + + &:last-child { + margin-bottom: 0; + } + } + } + + h1 { + font-size: 32px; + + @media screen and (max-width: $tablet-3) { + font-size: 28px; + } + + .site-header & { + margin-top: .3em; + margin-bottom: .3em; + text-transform: uppercase; + font-size: 70px; + font-weight: 700; + line-height: 1.1; + + &.blog-title { + &, + & a { + margin-top: .3em; + margin-bottom: .3em; + font-size: 70px; + font-style: normal; + font-weight: 700; + line-height: 1.1; + text-align: center; + text-decoration: none; + text-transform: uppercase; + } + } + + @media screen and (max-width: $tablet-3) { + font-size: 32px; + } + } + + &.article-title { + font-style: normal; + text-decoration: none; + + // scss-lint:disable NestingDepth + .blog-article-page & { + text-align: center; + } + // scss-lint:enable NestingDepth + } + } + + h2 { + font-size: 26px; + line-height: 1.4; + + @media screen and (max-width: $tablet-3) { + font-size: 24px; + } + + .site-header & { + margin-top: .2em; + margin-bottom: .2em; + } + + .contacts & { + font-size: 28px; + } + } + + h3, + h4, + h5, + h6 { + font-size: 22px; + + .contacts & { + font-weight: 400; + font-size: 24px; + } + } + + // Styling rules for the editable content area paragraphs, lists and links. + p, + ul, + ol, + dl { + font-size: 18px; + + .site-footer & { + font-size: 14px; + color: rgba($black, .7); + } + + .dark-background & { + .site-footer & { + color: rgba($white, 1); + } + } + } + + ul, + ol, + dl { + text-align: left; + + li { + margin-top: 10px; + } + } + + ul { + list-style-type: none; + + li { + position: relative; + + &:before { + position: absolute; + top: 0.2em; + left: -15px; + display: inline-block; + vertical-align: middle; + font-size: 1em; + font-weight: 700; + line-height: inherit; + content: '°'; + } + } + } + + a { + color: rgba($black, 1); + text-decoration: underline; + + + &:hover { + text-decoration: none; + } + + .dark-background & { + color: rgba($white, 1); + } + } + + b, + strong { + font-weight: 400; + color: rgba($black, 1); + } + + // Disables hyphenation for the elements that shouldn't hyphenate. + pre, + code, + iframe, + table, + form { + @include hyphenate(false); + } + + // Top and bottom margin for the elements that doesn't have the default margin. + pre, + .edy-positionable-container-left-block, + .edy-positionable-container-right-block, + .edy-positionable-container-center-block, + .embed-container, + .table-container, + .editmode & table { + margin-top: $margin-medium; + margin-bottom: $margin-medium; + } + + // Code blocks and preformatted content. + pre, + code { + font-size: 14px; + background-color: rgba($black, .1); + } + + pre { + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 10px; + + code { + display: inline; + padding: 0; + white-space: pre; + line-height: inherit; + background-color: transparent; + @include word-wrap(normal); + } + } + + code { + display: inline-block; + padding: 5px; + @include word-wrap(break-word); + } + + blockquote { + margin: 20px 40px 20px 0; + padding-left: 20px; + border-left: 2px solid; + } + + // Styling rules for the editable content area images, embedded videos, preformatted texts, code examples etc. + iframe { + max-width: 100%; + + .map & { + margin-top: 0; + } + } + + .custom-btn { + display: inline-block; + background-color: transparent; + box-sizing: border-box; + padding: 12px 30px 13px; + text-transform: uppercase; + font-size: 16px; + font-weight: 400; + line-height: 1.7; + text-align: center; + @include hyphenate(true); + text-decoration: none; + + .publicmode & { + cursor: pointer; + } + + .site-header & { + margin-top: 30px; + margin-bottom: 30px; + + &:first-child { + margin-top: 0; + } + + &:last-child { + margin-bottom: 0; + } + } + + .dark-background & { + border: 2px solid rgba($white, 1); + color: rgba($white, 1); + } + + .light-background & { + border: 2px solid rgba($grey, 1); + color: rgba($grey, 1); + } + + .dark-background &, + .light-background & { + &-disabled { + // scss-lint:disable NestingDepth + .publicmode & { + &, + &:hover { + color: $disabled-color; + cursor: default; + border: 2px solid $disabled-color; + } + + &:hover { + background-color: transparent; + } + } + // scss-lint:enable NestingDepth + } + } + + &:hover { + transition: $transition; + + .dark-background & { + border: 2px solid rgba($white, 1); + background-color: rgba($white, 1); + color: rgba($black, .7); + } + + .light-background & { + border: 2px solid rgba($grey, 1); + background-color: rgba($grey, 1); + color: rgba($white, 1); + } + } + } + + .contacts::first-line { + color: red !important; + } + + .edy-positionable-container-left { + margin-right: 3%; + } + + .edy-positionable-container-right { + margin-left: 3%; + } + + // Content area image title + .edy-image-container-with-title { + &:after { + display: block; + padding: 4px; + font-size: 13px; + line-height: 1.4em; + content: attr(data-title); + } + } + + // Styling rules for the site's editable content area tables. + // NB! Works only if editable content-area - {% content %} - is wrapped into the element that has the "content-area" class. + + // Container around editable content-area table. + .table-container { + border-right: 1px solid rgba($black, .1); + border-left: 1px solid rgba($black, .1); + + .content & { + margin-bottom: 35px; + } + } + + // Overthrow plugin to support horizontal scrolling on older devices that have touch-screens. For example Android 2.3 devices. + .overthrow { + overflow: auto; + -webkit-overflow-scrolling: touch; + + .contacts & { + -webkit-overflow-scrolling: none; + } + } + + form { + margin: $margin-low 0; + + &:first-child { + margin-top: 0; + } + + } + + table { + width: 100%; + margin: 0 auto; + font-size: 16px; + border-collapse: collapse; + border-spacing: 0; + + .content & { + .editmode & { + margin-bottom: 35px; + } + } + + .contacts &, + .editmode .contacts & { + margin-bottom: 0; + } + + + th, + td { + padding: 9px 13px; + + .dark-background & { + border-color: rgba($white, 1); + border-style: solid; + border-width: 1px; + } + } + + th { + text-align: left; + font-weight: 400; + color: rgba($white, 1); + background-color: rgba($black, 1); + border-color: rgba($black, 1); + border-style: solid; + border-width: 1px; + + .footer & { + color: rgba($white, .5); + } + } + + td { + border-color: rgba($black, .1); + border-style: solid; + border-width: 1px; + + .dark-background & { + border-color: rgba($white, .1); + border-style: solid; + border-width: 1px; + } + } + + .contacts &, + .footer & { + width: auto; + border: none; + + tr { + @extend %clearfix; + + td { + background: none; + + &:first-child { + padding-left: 0; + border-left: none; + } + + &:last-child { + padding-right: 0; + } + } + } + } + + .contacts & { + font-size: 24px; + line-height: 1em; + + tr { + td { + padding: 0 25px; + color: rgba($black, .7); + border-top: none; + border-left: 2px solid rgba($black, .2); + border-right: none; + border-bottom: none; + } + } + + @media screen and (max-width: $tablet-1 - 40) { + font-size: 20px; + } + + @media screen and (max-width: $tablet-2) { + font-size: 16px; + } + } + + .footer & { + tr { + td { + padding: 0 12px; + border: none; + + &:last-child { + padding-right: 0; + } + } + } + } + + @media screen and (max-width: $mobile-1 + 42) { + .contacts &, + .footer & { + &, tbody, tr { + display: block; + } + + tr { + td { + width: 100%; + float: left; + padding: 0; + box-sizing: border-box; + } + } + } + + .contacts & { + line-height: inherit; + + tr { + td { + border-left: none; + border-bottom: 2px solid rgba($black, .2); + } + } + } + } + } +} diff --git a/sources/stylesheets/general/_base.scss b/sources/stylesheets/general/_base.scss new file mode 100644 index 0000000..08a5f9e --- /dev/null +++ b/sources/stylesheets/general/_base.scss @@ -0,0 +1,491 @@ +// ============================================================================= +// BASICS +// ============================================================================= +html { + @media screen and (max-width: $tablet-3) { + &.search-open, + &.comments-open { + height: 100%; + overflow: hidden; + } + } +} + +body { + margin: 0; + font-family: $font-main; + font-size: 18px; + font-weight: 300; + line-height: 1; + overflow-x: hidden; + -webkit-text-size-adjust: 100%; + + @media screen and (max-width: $tablet-3) { + .search-open &, + .comments-open & { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow: hidden; + } + } + + @media screen and (max-width: $tablet-3) { + .mobilemenu-open & { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow: hidden; + } + } +} + +a { + color: inherit; + text-decoration: none; + + img { + border-style: none; + } +} + +.svg-spritesheet { + display: none; +} + +.voog-bg-picker-btn { + top: 0; + left: 10px; + padding: 0; + border-style: none; + opacity: .9; + + &::-moz-focus-inner { + padding: 0; + border: none; + } + + &.is-hidden { + display: none; + } + + .header-bottom & { + top: 70px; + + .header-top-with-bg & { + top: 145px; + + @media screen and (max-width: $tablet-1) { + top: 120px; + } + + @media screen and (max-width: $tablet-3) { + top: 70px; + } + } + + .blog-article-page & { + top: 113px; + } + + &:hover { + opacity: 1; + } + } +} + +.btn { + display: none; + + &::-moz-focus-inner { + padding: 0; + border: 0; + } + + &.edy-bgpicker-toggle-button { + display: block; + } +} + +.site-container { + margin: 0 auto; + position: relative; + perspective: 1000px; + -webkit-transition: -webkit-transform 0.5s; + transition: transform 0.5s; + + &:after { + position: absolute; + top: 0; + right: 0; + width: 0; + height: 0; + background: rgba(0,0,0,0.2); + content: ''; + opacity: 0; + -webkit-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s; + transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s; + } + + .flexbox & { + display: flex; + flex-direction: column; + min-height: 100vh; + } + + .editmode.flexbox & { + min-height: calc(100vh - 40px); + } + + .mobilemenu-open & { + @media screen and (max-width: $tablet-1) { + transform: translate3d(-250px, 0, 0); + } + + &:after { + width: 100%; + height: 100%; + opacity: 1; + -webkit-transition: opacity 0.5s; + transition: opacity 0.5s; + } + } + + .blog-article-page & { + overflow: hidden; + } + + .comments-open & { + overflow: visible; + } +} + +.page-body { + position: relative; + + .flexbox & { + flex: 1 0 auto; + } +} + +.page-content { + display: block; + position: relative; + max-width: 100vw; +} + +.stretch { + @extend %stretch; +} + +.background-image, +.background-color { + position: absolute; + @extend %stretch; +} + +.background-image { + z-index: -2; + background-position: center; + background-size: cover; +} +.background-color { + z-index: -1; +} + +.wrap { + @extend %clearfix; + margin: 0 auto; + @extend %wide-wrap; + + .header-top & { + max-width: 100%; + } +} + +.inner { + margin: 0 auto; + padding: 50px 40px 60px; + + &:empty { + display: none; + } + + &.has-bottom-content { + padding-bottom: 30px; + } + + &.no-bottom-padding { + padding-bottom: 0; + } + + .front-page .main-content & { + padding: 70px 40px 0; + + @media screen and (max-width: $tablet-3) { + padding: 40px 20px 0; + } + } + + .item-list-page.sidebar-inactive & { + @media screen and (max-width: $tablet-3) { + padding-right: 20px; + padding-left: 20px; + } + + @media screen and (min-width: $tablet-3 + 1) { + padding-right: 40px; + padding-left: 40px; + } + } + + .item-list-page.sidebar-active & { + @media screen and (max-width: $tablet-3) { + padding-right: 20px; + padding-left: 20px; + } + + @media screen and (min-width: $tablet-3 + 1) { + padding-right: 40px; + } + + @media screen and (min-width: $tablet-3 + 1) and (max-width: $tablet-1) { + padding-left: 40px; + } + + @media screen and (min-width: $tablet-1 + 1) { + padding-left: 0; + } + } + + .item-page.sidebar-inactive & { + @media screen and (max-width: $tablet-3) { + padding-right: 20px; + padding-left: 20px; + } + + @media screen and (min-width: $tablet-3 + 1) { + padding-right: 40px; + padding-left: 40px; + } + } + + .item-page.sidebar-active & { + @media screen and (max-width: $tablet-3) { + padding-right: 20px; + padding-left: 20px; + } + + @media screen and (min-width: $tablet-3 + 1) { + padding-right: 40px; + } + + @media screen and (min-width: $tablet-3 + 1) and (max-width: $tablet-1) { + padding-left: 40px; + } + + @media screen and (min-width: $tablet-1 + 1) { + padding-left: 0; + } + } + + @media screen and (max-width: $tablet-3) { + padding: 30px 20px 40px; + } +} + +.dark-background { + color: rgba($white, 1); + + h1, h2, h3, h4, p, pre { + color: rgba($white, 1); + } + + .site-footer & { + color: rgba($white, .7); + + a, + b { + color: rgba($white, 1); + } + } + .header-title a { + color: rgba($white, 1); + } + .menu li a { + color: rgba($white, 1); + opacity: .7; + + &:hover { + opacity: 1; + } + } + .menu li.selected a { + opacity: 1; + } + .lang-title { + color: rgba($white, 1); + } + .lang-menu { + &.menu-language-list { + .lang-title a { + color: rgba($white, 1); + } + } + } + + .voog-reference svg path { + fill: rgba($white, 1); + } + .site-options .search-btn svg path { + fill: rgba($white, 1); + + @media screen and (max-width: $tablet-3) { + .search-open & { + fill: rgba($black, .70); + } + } + } +} + +.light-background { + color: rgba($black, 1); + + h1, h2, h3, h4 { + color: rgba($black, 1); + } + + .site-header & { + a { + color: rgba($black, 1); + } + + .header-title a { + color: rgba($black, 1); + } + + .menu li a { + color: rgba($black, .7); + + &:hover { + color: rgba($black, 1); + } + + &.untranslated { + color: rgba($red, .7); + + &:hover { + color: rgba($red, 1); + } + } + } + + .menu li.selected a { + color: rgba($black, 1); + } + } + + .site-footer & { + color: rgba($black, .7); + } + + .lang-title { + color: rgba($black, 1); + } +} + +.table-holder { + overflow: auto; + -webkit-overflow-scrolling: touch; + max-width: 100%; +} + +@keyframes rotation { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(359deg); + } +} + +.loader { + position: absolute; + top: 50%; + left: 50%; + z-index: 999; + width: 20px; + height: 20px; + border-radius: 100%; + opacity: 0; + transition: opacity .3s; + + &::before { + position: absolute; + display: block; + width: 100%; + height: 100%; + content: ''; + box-sizing: content-box; + } + + .not-loaded &, + .is-loaded & { + margin-top: calc((20px / 2) * -1); + margin-left: calc((20px / 2) * -1); + border: 1px solid rgba($black, 0); + animation: rotation .7s infinite linear; + + &::before { + border-top: 1px solid rgba($black, 1); + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; + border-left: 1px solid transparent; + border-radius: 100%; + } + } + + .not-loaded & { + opacity: 1; + } + + .is-loaded & { + opacity: 0; + } + + .with-error & { + width: 30px; + height: 30px; + margin-top: -15px; + margin-left: -15px; + background-color: rgba($red, .7); + opacity: 1; + + &::before, + &::after { + position: absolute; + top: 14px; + width: 22px; + height: 2px; + background-color: $white; + border-radius: 2px; + content: ''; + } + + + &::before { + left: 4px; + transform: rotate(45deg); + } + + &::after{ + right: 4px; + transform: rotate(-45deg); + } + } +} diff --git a/sources/stylesheets/general/_cms-overrides.scss b/sources/stylesheets/general/_cms-overrides.scss new file mode 100644 index 0000000..4b81995 --- /dev/null +++ b/sources/stylesheets/general/_cms-overrides.scss @@ -0,0 +1,4 @@ +// CMS DEFAULT STYLES OVERRIDES +.edy-content-element > .form { + margin: $margin-low 0; +} diff --git a/sources/stylesheets/general/_fonts.scss b/sources/stylesheets/general/_fonts.scss new file mode 100644 index 0000000..e69de29 diff --git a/sources/stylesheets/general/_framework.scss b/sources/stylesheets/general/_framework.scss new file mode 100644 index 0000000..1c32732 --- /dev/null +++ b/sources/stylesheets/general/_framework.scss @@ -0,0 +1,60 @@ +// FRAMEWORK +// Extendable classes for commonly used styling rules for different elements. + +// BASIC +%clearfix:after { + display: table; + clear: both; + content: ''; +} + +// POSITIONING +%stretch { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +// REUASBLE ELEMENTS +%button { + margin: 0; + padding: 0; + background-color: transparent; + border-style: none; + cursor: pointer; + + &:focus { + outline: none; + } + + &::-moz-focus-inner { + padding: 0; + border-style: none; + } +} + +%input-ios-reset { + -webkit-appearance: none; + -webkit-border-radius: 0; + border-radius: 0; +} + +%inherit-base-font { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +%widest-wrap { + max-width: 1340px; +} + +%wide-wrap { + max-width: $width-max; +} + +%medium-wrap { + max-width: $width-medium; +} diff --git a/sources/stylesheets/layouts/_blog-and-news.scss b/sources/stylesheets/layouts/_blog-and-news.scss new file mode 100644 index 0000000..29c1737 --- /dev/null +++ b/sources/stylesheets/layouts/_blog-and-news.scss @@ -0,0 +1,138 @@ +.blog-news-page { + .main-content { + .wrap { + max-width: 780px; + } + } + + .blog-intro-content { + padding-bottom: 50px; + } + + .article-title { + font-size: 32px; + font-weight: 300; + margin: 10px 0 0; + @media screen and (max-width: $tablet-2) { + font-size: 26px; + } + a { + color: rgba($black, 1); + text-decoration: none; + } + } + .article-content { + margin-top: 20px; + } + .blog-article { + @include hyphenate(true); + position: relative; + padding-top: 50px; + &:first-child { + padding-top: 0; + } + .article-image { + position: relative; + z-index: 1; + margin-top: 25px; + margin-bottom: 20px; + &:before { + display: block; + width: 100%; + padding-top: 65.715%; + content: ''; + } + } + } + .article-author, + .article-date { + font-size: 14px; + color: rgba($black, 1); + opacity: .35; + font-weight: 400; + line-height: 1; + display: inline; + letter-spacing: 1px; + text-transform: uppercase; + + .dark-background & { + color: rgba($white, .35); + } + } + .article-excerpt { + color: rgba($black, .7); + font-size: rem-calc(18px); + font-weight: 300; + line-height: 1.7; + margin-bottom: 20px; + } + + .article-read-more-btn { + display: inline-block; + text-decoration: underline; + + &:hover { + text-decoration: none; + } + } + + @media screen and (max-width: $tablet-3) { + .article-header { + margin: 0; + } + } + .articles-listing { + @extend %clearfix; + max-width: 695px; + margin: 0 auto; + .articles-listing-header { + margin: 62px 0 $margin-medium; + } + .articles-listing-title { + font-size: 22px; + text-transform: uppercase; + } + .blog-article { + padding: 0; + .article-header { + margin: 0 0 $margin-low; + } + .article-date { + font-size: 12px; + font-size: 12px; + color: rgba($black, 1); + opacity: .35; + font-weight: 400; + line-height: 1.7; + position: absolute; + top: 4px; + letter-spacing: 1px; + } + .article-title { + font-size: 18px; + font-weight: 300; + line-height: 1.4; + margin-left: 170px; + } + } + @media screen and (max-width: $mobile-1) { + margin: 0; + .blog-article { + .article-date { + position: static; + } + .article-title { + margin: 0; + } + } + } + } + + .dark-background { + .article-author, + .article-date, + .articles-listing .article-date { + color: rgba($white, .35); + } + } +} diff --git a/sources/stylesheets/layouts/_blog-article.scss b/sources/stylesheets/layouts/_blog-article.scss new file mode 100644 index 0000000..868fb86 --- /dev/null +++ b/sources/stylesheets/layouts/_blog-article.scss @@ -0,0 +1,194 @@ + +.blog-article-page { + .article-types-toggle { + font-size: 0; + position: absolute; + top: 85px; + left: 20px; + display: inline-block; + overflow: hidden; + width: 150px; + border-radius: 5px; + + .type-btn { + font-family: inherit; + font-size: 16px; + line-height: 1.3; + display: inline-block; + float: left; + width: 75px; + padding: 5px 5px 3px; + cursor: pointer; + text-align: center; + text-decoration: none; + color: rgba($white, 1); + border-style: none; + outline: none; + background-color: rgba($black, .5); + + &:hover { + background-color: rgba($black, .7); + } + + &.is-active { + background-color: rgba($black, 1); + } + } + } + + &.header-top-with-bg .article-types-toggle { + top: 150px; + + @media screen and (max-width: $tablet-1) { + top: 125px; + } + @media screen and (max-width: $tablet-3) { + top: 80px; + } + } + + .article-body { + font-size: 18px; + font-weight: 300; + line-height: 1.7; + margin: 30px 0 0; + color: rgba($black, .7); + } + + .article-excerpt { + @extend .article-body; + font-weight: 400; + + &:empty { + display: none; + } + } + + .comments-title { + font-size: 14px; + font-weight: 400; + line-height: 1.7; + display: inline-block; + cursor: pointer; + text-transform: uppercase; + color: rgba($black, 1); + margin-right: 30px; + + &:hover { + .comments-title-inner, + .comments-count { + opacity: 1; + } + } + + .dark-background & { + color: rgba($white, 1); + } + + .comments-title-inner { + opacity: .35; + } + + .comments-count { + opacity: .7; + } + } + + .main-content { + transition: min-height 250ms; + min-height: 0; + will-change: min-height; + + .wrap { + max-width: 780px; + } + + .article-meta { + display: inline-block; + margin-right: $margin-medium; + + &.is-hidden { + display: none; + } + } + + .article-header { + margin: 10px 0 $margin-medium; + + &.comments-open & { + @media screen and (max-width: $mobile-1) { + display: none; + } + } + + .article-title { + line-height: 1.4; + margin-bottom: 0; + } + + a { + border-bottom: none; + } + } + + .article-author, + .article-date { + font-size: 14px; + font-weight: 400; + line-height: 1; + display: inline; + letter-spacing: 1px; + text-transform: uppercase; + color: rgba($black, 1); + opacity: .35; + + &.is-hidden { + display: none; + } + } + } + + .article-author, + .article-date { + opacity: .35; + } + + .dark-background { + .article-author, + .article-date { + color: rgba($white, 1); + } + } + + &.header-top-with-bg .header-bottom .voog-bg-picker-btn { + top: 180px; + + @media screen and (max-width: $tablet-1) { + top: 155px; + } + + @media screen and (max-width: $tablet-3) { + top: 115px; + } + } + +} + +.article-settings-wrap { + display: inline-block; +} + +.blog-article-page, +.blog-news-page { + .wrap { + .hide-article-comments { + display: none; + } + .hide-article-date { + display: none; + } + .hide-article-author { + display: none; + } + } +} diff --git a/sources/stylesheets/layouts/_common-page.scss b/sources/stylesheets/layouts/_common-page.scss new file mode 100644 index 0000000..e445037 --- /dev/null +++ b/sources/stylesheets/layouts/_common-page.scss @@ -0,0 +1,76 @@ +// ============================================================================= +// COMMON PAGE LAYOUT +// ============================================================================= +.common-page { + .sidebar-active { + max-width: 1040px; + width: 100%; + margin: 0 auto; + + &:after { + @extend %clearfix; + } + + .wrap { + margin: 0; + + @media screen and (max-width: $tablet-1) { + margin-right: auto; + margin-left: auto; + } + } + + .inner { + width: auto; + margin: 0; + } + + .page-content { + @media screen and (min-width: $tablet-1 + 1) { + display: inline-block; + vertical-align: top; + width: calc(100% - 265px); + } + } + } + .main-content { + .wrap { + max-width: 780px; + } + + .content-half { + float: left; + width: 50%; + box-sizing: border-box; + + &.has-padding { + padding-top: 50px; + } + + @media screen and (max-width: $tablet-3) { + float: none; + width: 100%; + } + } + + .content-left { + @media screen and (min-width: $tablet-2 + 1) { + padding: 0 20px 60px 40px; + } + + @media screen and (max-width: $tablet-3) { + padding: 0 20px 20px; + } + } + + .content-right { + @media screen and (min-width: $tablet-2 + 1) { + padding: 0 40px 60px 20px; + } + + @media screen and (max-width: $tablet-3) { + padding: 0 20px 20px; + } + } + } +} diff --git a/sources/stylesheets/layouts/_front-page.scss b/sources/stylesheets/layouts/_front-page.scss new file mode 100644 index 0000000..a2b3c76 --- /dev/null +++ b/sources/stylesheets/layouts/_front-page.scss @@ -0,0 +1,203 @@ +%large-text { + font-size: 50px; + font-weight: 700; + line-height: 1; +} + +%medium-text { + font-size: 25px; + font-weight: 400; + line-height: 1; +} + +%normal-text { + font-size: 15px; + font-weight: 300; + line-height: 1.5em; +} + +.front-page { + .page-content { + + .content-header { + @extend %large-text; + margin-bottom: 10px; + } + + .content-slogan { + @extend %medium-text; + margin-bottom: 80px; + } + } + + .main-feature { + padding-top: 70px; + + @media screen and (max-width: $tablet-3) { + padding-top: 40px; + } + + .wrap { + padding: 0 40px; + font-size: 0; + text-align: center; + max-width: 1123px; + + @media screen and (max-width: $tablet-3) { + padding-right: 20px; + padding-left: 20px; + } + } + + .feature { + @media screen and (min-width: $tablet-3 + 1) { + display: inline-block; + vertical-align: top; + width: 33.3%; + } + + &:nth-child(3n+1), + &:nth-child(3n+2) { + .editmode & { + .aspect-ratio-inner:not(.active) { + border-left-style: dashed; + } + } + } + + &:nth-child(3n+2), + &:nth-child(3n+3) { + .editmode & { + .aspect-ratio-inner:not(.active) { + border-right-style: dashed; + } + } + } + + &:empty { + display: none; + } + + @media screen and (min-width: $tablet-3) and (max-width: $tablet-1) { + &:first-child { + .feature-content { + margin-right: 15px; + margin-left: 0; + } + } + + &:nth-child(2) { + .feature-content { + margin-right: 15px; + margin-left: 15px; + } + } + + &:last-child { + .feature-content { + margin-right: 0; + margin-left: 15px; + } + } + } + } + + .feature-image { + @include aspect-ratio(266, 177); + margin-bottom: 25px; + + &.has-margin { + margin-bottom: 70px; + } + + &.empty-hidden { + display: none; + } + } + + .aspect-ratio-inner { + background-size: cover; + background-position: center; + + &:not(.active) { + border-width: 1px; + + .editmode & { + border-top-style: dashed; + border-bottom-style: dashed; + + @media screen and (max-width: $tablet-3) { + border-right-style: dashed; + border-left-style: dashed; + } + } + } + + &.active { + border-width: 0; + } + + .editmode & { + display: flex !important; + align-items: center; + justify-content: center; + } + } + + .edy-img-drop-area { + .edy-img-drop-area-remove-image { + top: 5px; + right: 5px; + } + } + + .edy-img-drop-area-placeholder { + font-size: 14px; + } + + .feature-content { + margin: 0 30px 70px; + font-size: 18px; + + @media screen and (max-width: $tablet-3) { + margin: 0 0 40px; + } + + &:empty { + display: none; + } + } + + .content-area { + text-align: left; + line-height: 1.7; + + h3 { + margin-bottom: 8px; + } + } + } + + .front-page-content-bottom { + .wrap { + height: 360px; + display: table; + table-layout: fixed; + width: 100%; + + .inner { + display: table-cell; + vertical-align: middle; + width: 100%; + } + } + } + + .content-full { + position: relative; + + .content-full-inner { + position: relative; + } + } +} diff --git a/sources/stylesheets/main.scss b/sources/stylesheets/main.scss new file mode 100644 index 0000000..e6076bb --- /dev/null +++ b/sources/stylesheets/main.scss @@ -0,0 +1,38 @@ +// ============================================================================= +// MAIN STYLSEHEET +// +// Uncomment the partials you want to use in your template and comment out those +// that you don't need. +// ============================================================================= + +// MODULES +@import '../../bower_components/bourbon/app/assets/stylesheets/bourbon'; +@import 'modules/mixins'; +@import 'modules/variables'; + +// GENERAL +@import 'general/base'; +@import 'general/framework'; +@import 'general/cms-overrides'; + +// LAYOUTS +@import 'layouts/front-page'; +@import 'layouts/common-page'; +@import 'layouts/blog-and-news'; +@import 'layouts/blog-article'; + +// COMPONENTS +@import 'components/blog-article-comments'; +@import 'components/blog-tags'; +@import 'components/site-header'; +@import 'components/navigation-menus'; +@import 'components/site-search'; +@import 'components/site-sidebar'; +@import 'components/content-item'; +@import 'components/site-footer'; +@import 'components/site-signout'; + +// CONTENT AREAS +@import 'content/text'; +@import 'content/form'; +@import 'content/buy-button'; diff --git a/sources/stylesheets/modules/_mixins.scss b/sources/stylesheets/modules/_mixins.scss new file mode 100644 index 0000000..95da287 --- /dev/null +++ b/sources/stylesheets/modules/_mixins.scss @@ -0,0 +1,103 @@ +// CUSTOM MIXINS +// Comment out the "_mixins.scss" partial in the "main.scss" file if not used. +@mixin aspect-ratio($width, $height) { + position: relative; + + &:before { + display: block; + content: ''; + width: 100%; + padding-top: ($height / $width) * 100%; + } + + > .aspect-ratio-inner { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + } +} + +@mixin hyphenate($boolean: true) { + @if $boolean == true { + hyphens: auto; + word-break: break-word; + word-wrap: break-word; + } @else { + hyphens: none; + word-break: normal; + word-wrap: normal; + } +} + +// COLORS +@mixin bg($color, $opacity: 1) { + @if $opacity == 1 { + background-color: rgba($color, $opacity); + } @else { + background-color: $color; + background-color: rgba($color, $opacity); + } +} + +@mixin color($color, $opacity: 1) { + @if $opacity == 1 { + color: rgba($color, $opacity); + } @else { + color: $color; + color: rgba($color, $opacity); + } +} + +@mixin fill($color, $opacity: 1) { + @if $opacity == 1 { + fill: rgba($color, $opacity); + } @else { + fill: $color; + fill: rgba($color, $opacity); + } +} + +// BORDERS +@mixin border($side, $width, $style, $color, $opacity: 1) { + @if $side == 'all' { + @if $opacity == 1 { + border: $width $style rgba($color, $opacity); + } @else { + border: $width $style $color; + border: $width $style rgba($color, $opacity); + } + } @else { + @if $opacity == 1 { + border-#{$side}: $width $style rgba($color, $opacity); + } @else { + border-#{$side}: $width $style $color; + border-#{$side}: $width $style rgba($color, $opacity); + } + } +} + +// MEDIA QUERY +@mixin query($value) { + @media screen and (max-width: $value) { + @content; + } +} +@mixin querymin($value) { + @media screen and (min-width: $value + 1px) { + @content; + } +} +@mixin queryminmax($minvalue, $maxvalue) { + @media screen and (min-width: $minvalue + 1px) and (max-width: $maxvalue) { + @content; + } +} + +// MEDIA QUERY +@mixin querysearch($value: $tablet-1, $screen: 'max-width') { + @media screen and ($screen: $value) { + @content; + } +} diff --git a/sources/stylesheets/modules/_variables.scss b/sources/stylesheets/modules/_variables.scss new file mode 100644 index 0000000..b13d6ad --- /dev/null +++ b/sources/stylesheets/modules/_variables.scss @@ -0,0 +1,59 @@ +// VARIABLES +// Global variables to use in every .scss files. +// Comment out the "_variables.scss" partial in the "main.scss" file if not used. + +// Basic colors. +$black: #000; +$white: #fff; +$grey: #222; +$blue: #06b; +$yellow: #f9ec5a; +$red: #c70909; +$science-blue: #06b; + +// Specific colors. +$error-color: #f00; +$success-color: #0ecb00; +$disabled-color: #999; + +// Log out button +$color-common-gray: rgb(27,33,36); +$color-toolbar-bg: rgb(238,238,238); +$color-silver-2: rgb(196,196,196); + +// Font family. +$font-main: 'Roboto', sans-serif; +$avenir: 'Avenir Next', 'AvenirX'; + +// Media query breakpoints. +$wide-1: 1500px; +$tablet-1: 1024px; +$tablet-2: 850px; +$tablet-3: 640px; +$mobile-1: 480px; +$small: 380px; +$tiny: 340px; +$micro: 290px; +$nano: 240px; + +// Reusable values +// Define the reusable variables here. +// For example the width of several different elements, that always have to be with the same height. +$height-base: 100px; + +$padding-medium: 40px; +$padding-general: 70px; + +$margin-base: 10px; +$margin-low: 20px; +$margin-medium: 30px; +$margin-large: 40px; +$margin-half: 50px; +$margin-general: 100px; + +$button-square: 42px; + +$width-medium: 760px; +$width-max: 1040px; + +$transition: 500ms; diff --git a/stylesheets/main.css b/stylesheets/main.css new file mode 100644 index 0000000..dab85f8 --- /dev/null +++ b/stylesheets/main.css @@ -0,0 +1,4194 @@ +@charset "UTF-8"; +@media screen and (max-width: 640px) { + html.search-open, html.comments-open { + height: 100%; + overflow: hidden; + } +} + +body { + margin: 0; + font-family: "Roboto", sans-serif; + font-size: 18px; + font-weight: 300; + line-height: 1; + overflow-x: hidden; + -webkit-text-size-adjust: 100%; +} +@media screen and (max-width: 640px) { + .search-open body, .comments-open body { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow: hidden; + } +} +@media screen and (max-width: 640px) { + .mobilemenu-open body { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow: hidden; + } +} + +a { + color: inherit; + text-decoration: none; +} +a img { + border-style: none; +} + +.svg-spritesheet { + display: none; +} + +.voog-bg-picker-btn { + top: 0; + left: 10px; + padding: 0; + border-style: none; + opacity: .9; +} +.voog-bg-picker-btn::-moz-focus-inner { + padding: 0; + border: none; +} +.voog-bg-picker-btn.is-hidden { + display: none; +} +.header-bottom .voog-bg-picker-btn { + top: 70px; +} +.header-top-with-bg .header-bottom .voog-bg-picker-btn { + top: 145px; +} +@media screen and (max-width: 1024px) { + .header-top-with-bg .header-bottom .voog-bg-picker-btn { + top: 120px; + } +} +@media screen and (max-width: 640px) { + .header-top-with-bg .header-bottom .voog-bg-picker-btn { + top: 70px; + } +} +.blog-article-page .header-bottom .voog-bg-picker-btn { + top: 113px; +} +.header-bottom .voog-bg-picker-btn:hover { + opacity: 1; +} + +.btn { + display: none; +} +.btn::-moz-focus-inner { + padding: 0; + border: 0; +} +.btn.edy-bgpicker-toggle-button { + display: block; +} + +.site-container { + margin: 0 auto; + position: relative; + -webkit-perspective: 1000px; + perspective: 1000px; + -webkit-transition: -webkit-transform 0.5s; + transition: -webkit-transform 0.5s; + -o-transition: transform 0.5s; + transition: transform 0.5s; + transition: transform 0.5s, -webkit-transform 0.5s; +} +.site-container:after { + position: absolute; + top: 0; + right: 0; + width: 0; + height: 0; + background: rgba(0, 0, 0, 0.2); + content: ''; + opacity: 0; + -webkit-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s; + -o-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s; + transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s; +} +.flexbox .site-container { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + min-height: 100vh; +} +.editmode.flexbox .site-container { + min-height: calc(100vh - 40px); +} +@media screen and (max-width: 1024px) { + .mobilemenu-open .site-container { + -webkit-transform: translate3d(-250px, 0, 0); + transform: translate3d(-250px, 0, 0); + } +} +.mobilemenu-open .site-container:after { + width: 100%; + height: 100%; + opacity: 1; + -webkit-transition: opacity 0.5s; + -o-transition: opacity 0.5s; + transition: opacity 0.5s; +} +.blog-article-page .site-container { + overflow: hidden; +} +.comments-open .site-container { + overflow: visible; +} + +.page-body { + position: relative; +} +.flexbox .page-body { + -webkit-box-flex: 1; + -ms-flex: 1 0 auto; + flex: 1 0 auto; +} + +.page-content { + display: block; + position: relative; + max-width: 100vw; +} + +.background-image, +.background-color { + position: absolute; +} + +.background-image { + z-index: -2; + background-position: center; + background-size: cover; +} + +.background-color { + z-index: -1; +} + +.wrap { + margin: 0 auto; +} +.header-top .wrap { + max-width: 100%; +} + +.inner { + margin: 0 auto; + padding: 50px 40px 60px; +} +.inner:empty { + display: none; +} +.inner.has-bottom-content { + padding-bottom: 30px; +} +.inner.no-bottom-padding { + padding-bottom: 0; +} +.front-page .main-content .inner { + padding: 70px 40px 0; +} +@media screen and (max-width: 640px) { + .front-page .main-content .inner { + padding: 40px 20px 0; + } +} +@media screen and (max-width: 640px) { + .item-list-page.sidebar-inactive .inner { + padding-right: 20px; + padding-left: 20px; + } +} +@media screen and (min-width: 641px) { + .item-list-page.sidebar-inactive .inner { + padding-right: 40px; + padding-left: 40px; + } +} +@media screen and (max-width: 640px) { + .item-list-page.sidebar-active .inner { + padding-right: 20px; + padding-left: 20px; + } +} +@media screen and (min-width: 641px) { + .item-list-page.sidebar-active .inner { + padding-right: 40px; + } +} +@media screen and (min-width: 641px) and (max-width: 1024px) { + .item-list-page.sidebar-active .inner { + padding-left: 40px; + } +} +@media screen and (min-width: 1025px) { + .item-list-page.sidebar-active .inner { + padding-left: 0; + } +} +@media screen and (max-width: 640px) { + .item-page.sidebar-inactive .inner { + padding-right: 20px; + padding-left: 20px; + } +} +@media screen and (min-width: 641px) { + .item-page.sidebar-inactive .inner { + padding-right: 40px; + padding-left: 40px; + } +} +@media screen and (max-width: 640px) { + .item-page.sidebar-active .inner { + padding-right: 20px; + padding-left: 20px; + } +} +@media screen and (min-width: 641px) { + .item-page.sidebar-active .inner { + padding-right: 40px; + } +} +@media screen and (min-width: 641px) and (max-width: 1024px) { + .item-page.sidebar-active .inner { + padding-left: 40px; + } +} +@media screen and (min-width: 1025px) { + .item-page.sidebar-active .inner { + padding-left: 0; + } +} +@media screen and (max-width: 640px) { + .inner { + padding: 30px 20px 40px; + } +} + +.dark-background { + color: white; +} +.dark-background h1, .dark-background h2, .dark-background h3, .dark-background h4, .dark-background p, .dark-background pre { + color: white; +} +.site-footer .dark-background { + color: rgba(255, 255, 255, 0.7); +} +.site-footer .dark-background a, +.site-footer .dark-background b { + color: white; +} +.dark-background .header-title a { + color: white; +} +.dark-background .menu li a { + color: white; + opacity: .7; +} +.dark-background .menu li a:hover { + opacity: 1; +} +.dark-background .menu li.selected a { + opacity: 1; +} +.dark-background .lang-title { + color: white; +} +.dark-background .lang-menu.menu-language-list .lang-title a { + color: white; +} +.dark-background .voog-reference svg path { + fill: white; +} +.dark-background .site-options .search-btn svg path { + fill: white; +} +@media screen and (max-width: 640px) { + .search-open .dark-background .site-options .search-btn svg path { + fill: rgba(0, 0, 0, 0.7); + } +} + +.light-background { + color: black; +} +.light-background h1, .light-background h2, .light-background h3, .light-background h4 { + color: black; +} +.site-header .light-background a { + color: black; +} +.site-header .light-background .header-title a { + color: black; +} +.site-header .light-background .menu li a { + color: rgba(0, 0, 0, 0.7); +} +.site-header .light-background .menu li a:hover { + color: black; +} +.site-header .light-background .menu li a.untranslated { + color: rgba(199, 9, 9, 0.7); +} +.site-header .light-background .menu li a.untranslated:hover { + color: #c70909; +} +.site-header .light-background .menu li.selected a { + color: black; +} +.site-footer .light-background { + color: rgba(0, 0, 0, 0.7); +} +.light-background .lang-title { + color: black; +} + +.table-holder { + overflow: auto; + -webkit-overflow-scrolling: touch; + max-width: 100%; +} + +@-webkit-keyframes rotation { + from { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes rotation { + from { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.loader { + position: absolute; + top: 50%; + left: 50%; + z-index: 999; + width: 20px; + height: 20px; + border-radius: 100%; + opacity: 0; + -webkit-transition: opacity .3s; + -o-transition: opacity .3s; + transition: opacity .3s; +} +.loader::before { + position: absolute; + display: block; + width: 100%; + height: 100%; + content: ''; + -webkit-box-sizing: content-box; + box-sizing: content-box; +} +.not-loaded .loader, .is-loaded .loader { + margin-top: calc((20px / 2) * -1); + margin-left: calc((20px / 2) * -1); + border: 1px solid rgba(0, 0, 0, 0); + -webkit-animation: rotation .7s infinite linear; + animation: rotation .7s infinite linear; +} +.not-loaded .loader::before, .is-loaded .loader::before { + border-top: 1px solid black; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; + border-left: 1px solid transparent; + border-radius: 100%; +} +.not-loaded .loader { + opacity: 1; +} +.is-loaded .loader { + opacity: 0; +} +.with-error .loader { + width: 30px; + height: 30px; + margin-top: -15px; + margin-left: -15px; + background-color: rgba(199, 9, 9, 0.7); + opacity: 1; +} +.with-error .loader::before, .with-error .loader::after { + position: absolute; + top: 14px; + width: 22px; + height: 2px; + background-color: #fff; + border-radius: 2px; + content: ''; +} +.with-error .loader::before { + left: 4px; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} +.with-error .loader::after { + right: 4px; + -webkit-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + transform: rotate(-45deg); +} + +.wrap:after, .common-page .sidebar-active:after, .blog-news-page .articles-listing:after, .site-header:after, .search:after, +.search-form:after, .site-footer .blog-article-nav:after, .content-area:after, .contacts .content-area table tr:after, .footer .content-area table tr:after { + display: table; + clear: both; + content: ''; +} + +.stretch, .background-image, +.background-color { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +.toggle-sub-menu, .mobile-menu-toggler, .lang-menu-btn, .search-btn, .search-submit { + margin: 0; + padding: 0; + background-color: transparent; + border-style: none; + cursor: pointer; +} +.toggle-sub-menu:focus, .mobile-menu-toggler:focus, .lang-menu-btn:focus, .search-btn:focus, .search-submit:focus { + outline: none; +} +.toggle-sub-menu::-moz-focus-inner, .mobile-menu-toggler::-moz-focus-inner, .lang-menu-btn::-moz-focus-inner, .search-btn::-moz-focus-inner, .search-submit::-moz-focus-inner { + padding: 0; + border-style: none; +} + +.site-search .search-input, .content-area .form_field_textfield, .content-area .form_field_textarea, .content-area .form_field_select { + -webkit-appearance: none; + border-radius: 0; +} + +.site-search .search-input, .content-area .form_field_textfield, .content-area .form_field_textarea, .content-area .form_field_select { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +.wrap { + max-width: 1040px; +} + +.edy-content-element > .form { + margin: 20px 0; +} + +.front-page .page-content .content-header { + font-size: 50px; + font-weight: 700; + line-height: 1; +} + +.front-page .page-content .content-slogan { + font-size: 25px; + font-weight: 400; + line-height: 1; +} + +.front-page .page-content .content-header { + margin-bottom: 10px; +} +.front-page .page-content .content-slogan { + margin-bottom: 80px; +} +.front-page .main-feature { + padding-top: 70px; +} +@media screen and (max-width: 640px) { + .front-page .main-feature { + padding-top: 40px; + } +} +.front-page .main-feature .wrap { + padding: 0 40px; + font-size: 0; + text-align: center; + max-width: 1123px; +} +@media screen and (max-width: 640px) { + .front-page .main-feature .wrap { + padding-right: 20px; + padding-left: 20px; + } +} +@media screen and (min-width: 641px) { + .front-page .main-feature .feature { + display: inline-block; + vertical-align: top; + width: 33.3%; + } +} +.editmode .front-page .main-feature .feature:nth-child(3n+1) .aspect-ratio-inner:not(.active), .editmode .front-page .main-feature .feature:nth-child(3n+2) .aspect-ratio-inner:not(.active) { + border-left-style: dashed; +} +.editmode .front-page .main-feature .feature:nth-child(3n+2) .aspect-ratio-inner:not(.active), .editmode .front-page .main-feature .feature:nth-child(3n+3) .aspect-ratio-inner:not(.active) { + border-right-style: dashed; +} +.front-page .main-feature .feature:empty { + display: none; +} +@media screen and (min-width: 640px) and (max-width: 1024px) { + .front-page .main-feature .feature:first-child .feature-content { + margin-right: 15px; + margin-left: 0; + } + .front-page .main-feature .feature:nth-child(2) .feature-content { + margin-right: 15px; + margin-left: 15px; + } + .front-page .main-feature .feature:last-child .feature-content { + margin-right: 0; + margin-left: 15px; + } +} +.front-page .main-feature .feature-image { + position: relative; + margin-bottom: 25px; +} +.front-page .main-feature .feature-image:before { + display: block; + content: ''; + width: 100%; + padding-top: 66.5413533835%; +} +.front-page .main-feature .feature-image > .aspect-ratio-inner { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; +} +.front-page .main-feature .feature-image.has-margin { + margin-bottom: 70px; +} +.front-page .main-feature .feature-image.empty-hidden { + display: none; +} +.front-page .main-feature .aspect-ratio-inner { + background-size: cover; + background-position: center; +} +.front-page .main-feature .aspect-ratio-inner:not(.active) { + border-width: 1px; +} +.editmode .front-page .main-feature .aspect-ratio-inner:not(.active) { + border-top-style: dashed; + border-bottom-style: dashed; +} +@media screen and (max-width: 640px) { + .editmode .front-page .main-feature .aspect-ratio-inner:not(.active) { + border-right-style: dashed; + border-left-style: dashed; + } +} +.front-page .main-feature .aspect-ratio-inner.active { + border-width: 0; +} +.editmode .front-page .main-feature .aspect-ratio-inner { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} +.front-page .main-feature .edy-img-drop-area .edy-img-drop-area-remove-image { + top: 5px; + right: 5px; +} +.front-page .main-feature .edy-img-drop-area-placeholder { + font-size: 14px; +} +.front-page .main-feature .feature-content { + margin: 0 30px 70px; + font-size: 18px; +} +@media screen and (max-width: 640px) { + .front-page .main-feature .feature-content { + margin: 0 0 40px; + } +} +.front-page .main-feature .feature-content:empty { + display: none; +} +.front-page .main-feature .content-area { + text-align: left; + line-height: 1.7; +} +.front-page .main-feature .content-area h3 { + margin-bottom: 8px; +} +.front-page .front-page-content-bottom .wrap { + height: 360px; + display: table; + table-layout: fixed; + width: 100%; +} +.front-page .front-page-content-bottom .wrap .inner { + display: table-cell; + vertical-align: middle; + width: 100%; +} +.front-page .content-full { + position: relative; +} +.front-page .content-full .content-full-inner { + position: relative; +} + +.common-page .sidebar-active { + max-width: 1040px; + width: 100%; + margin: 0 auto; +} +.common-page .sidebar-active .wrap { + margin: 0; +} +@media screen and (max-width: 1024px) { + .common-page .sidebar-active .wrap { + margin-right: auto; + margin-left: auto; + } +} +.common-page .sidebar-active .inner { + width: auto; + margin: 0; +} +@media screen and (min-width: 1025px) { + .common-page .sidebar-active .page-content { + display: inline-block; + vertical-align: top; + width: calc(100% - 265px); + } +} +.common-page .main-content .wrap { + max-width: 780px; +} +.common-page .main-content .content-half { + float: left; + width: 50%; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.common-page .main-content .content-half.has-padding { + padding-top: 50px; +} +@media screen and (max-width: 640px) { + .common-page .main-content .content-half { + float: none; + width: 100%; + } +} +@media screen and (min-width: 851px) { + .common-page .main-content .content-left { + padding: 0 20px 60px 40px; + } +} +@media screen and (max-width: 640px) { + .common-page .main-content .content-left { + padding: 0 20px 20px; + } +} +@media screen and (min-width: 851px) { + .common-page .main-content .content-right { + padding: 0 40px 60px 20px; + } +} +@media screen and (max-width: 640px) { + .common-page .main-content .content-right { + padding: 0 20px 20px; + } +} + +.blog-news-page .main-content .wrap { + max-width: 780px; +} +.blog-news-page .blog-intro-content { + padding-bottom: 50px; +} +.blog-news-page .article-title { + font-size: 32px; + font-weight: 300; + margin: 10px 0 0; +} +@media screen and (max-width: 850px) { + .blog-news-page .article-title { + font-size: 26px; + } +} +.blog-news-page .article-title a { + color: black; + text-decoration: none; +} +.blog-news-page .article-content { + margin-top: 20px; +} +.blog-news-page .blog-article { + -webkit-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; + word-break: break-word; + word-wrap: break-word; + position: relative; + padding-top: 50px; +} +.blog-news-page .blog-article:first-child { + padding-top: 0; +} +.blog-news-page .blog-article .article-image { + position: relative; + z-index: 1; + margin-top: 25px; + margin-bottom: 20px; +} +.blog-news-page .blog-article .article-image:before { + display: block; + width: 100%; + padding-top: 65.715%; + content: ''; +} +.blog-news-page .article-author, .blog-news-page .article-date { + font-size: 14px; + color: black; + opacity: .35; + font-weight: 400; + line-height: 1; + display: inline; + letter-spacing: 1px; + text-transform: uppercase; +} +.dark-background .blog-news-page .article-author, +.dark-background .blog-news-page .article-date { + color: rgba(255, 255, 255, 0.35); +} +.blog-news-page .article-excerpt { + color: rgba(0, 0, 0, 0.7); + font-size: rem-calc(18px); + font-weight: 300; + line-height: 1.7; + margin-bottom: 20px; +} +.blog-news-page .article-read-more-btn { + display: inline-block; + text-decoration: underline; +} +.blog-news-page .article-read-more-btn:hover { + text-decoration: none; +} +@media screen and (max-width: 640px) { + .blog-news-page .article-header { + margin: 0; + } +} +.blog-news-page .articles-listing { + max-width: 695px; + margin: 0 auto; +} +.blog-news-page .articles-listing .articles-listing-header { + margin: 62px 0 30px; +} +.blog-news-page .articles-listing .articles-listing-title { + font-size: 22px; + text-transform: uppercase; +} +.blog-news-page .articles-listing .blog-article { + padding: 0; +} +.blog-news-page .articles-listing .blog-article .article-header { + margin: 0 0 20px; +} +.blog-news-page .articles-listing .blog-article .article-date { + font-size: 12px; + font-size: 12px; + color: black; + opacity: .35; + font-weight: 400; + line-height: 1.7; + position: absolute; + top: 4px; + letter-spacing: 1px; +} +.blog-news-page .articles-listing .blog-article .article-title { + font-size: 18px; + font-weight: 300; + line-height: 1.4; + margin-left: 170px; +} +@media screen and (max-width: 480px) { + .blog-news-page .articles-listing { + margin: 0; + } + .blog-news-page .articles-listing .blog-article .article-date { + position: static; + } + .blog-news-page .articles-listing .blog-article .article-title { + margin: 0; + } +} +.blog-news-page .dark-background .article-author, +.blog-news-page .dark-background .article-date, +.blog-news-page .dark-background .articles-listing .article-date { + color: rgba(255, 255, 255, 0.35); +} + +.blog-article-page .article-types-toggle { + font-size: 0; + position: absolute; + top: 85px; + left: 20px; + display: inline-block; + overflow: hidden; + width: 150px; + border-radius: 5px; +} +.blog-article-page .article-types-toggle .type-btn { + font-family: inherit; + font-size: 16px; + line-height: 1.3; + display: inline-block; + float: left; + width: 75px; + padding: 5px 5px 3px; + cursor: pointer; + text-align: center; + text-decoration: none; + color: white; + border-style: none; + outline: none; + background-color: rgba(0, 0, 0, 0.5); +} +.blog-article-page .article-types-toggle .type-btn:hover { + background-color: rgba(0, 0, 0, 0.7); +} +.blog-article-page .article-types-toggle .type-btn.is-active { + background-color: black; +} +.blog-article-page.header-top-with-bg .article-types-toggle { + top: 150px; +} +@media screen and (max-width: 1024px) { + .blog-article-page.header-top-with-bg .article-types-toggle { + top: 125px; + } +} +@media screen and (max-width: 640px) { + .blog-article-page.header-top-with-bg .article-types-toggle { + top: 80px; + } +} +.blog-article-page .article-body, .blog-article-page .article-excerpt { + font-size: 18px; + font-weight: 300; + line-height: 1.7; + margin: 30px 0 0; + color: rgba(0, 0, 0, 0.7); +} +.blog-article-page .article-excerpt { + font-weight: 400; +} +.blog-article-page .article-excerpt:empty { + display: none; +} +.blog-article-page .comments-title { + font-size: 14px; + font-weight: 400; + line-height: 1.7; + display: inline-block; + cursor: pointer; + text-transform: uppercase; + color: black; + margin-right: 30px; +} +.blog-article-page .comments-title:hover .comments-title-inner, +.blog-article-page .comments-title:hover .comments-count { + opacity: 1; +} +.dark-background .blog-article-page .comments-title { + color: white; +} +.blog-article-page .comments-title .comments-title-inner { + opacity: .35; +} +.blog-article-page .comments-title .comments-count { + opacity: .7; +} +.blog-article-page .main-content { + -webkit-transition: min-height 250ms; + -o-transition: min-height 250ms; + transition: min-height 250ms; + min-height: 0; + will-change: min-height; +} +.blog-article-page .main-content .wrap { + max-width: 780px; +} +.blog-article-page .main-content .article-meta { + display: inline-block; + margin-right: 30px; +} +.blog-article-page .main-content .article-meta.is-hidden { + display: none; +} +.blog-article-page .main-content .article-header { + margin: 10px 0 30px; +} +@media screen and (max-width: 480px) { + .blog-article-page .main-content .article-header.comments-open .blog-article-page .main-content .article-header { + display: none; + } +} +.blog-article-page .main-content .article-header .article-title { + line-height: 1.4; + margin-bottom: 0; +} +.blog-article-page .main-content .article-header a { + border-bottom: none; +} +.blog-article-page .main-content .article-author, +.blog-article-page .main-content .article-date { + font-size: 14px; + font-weight: 400; + line-height: 1; + display: inline; + letter-spacing: 1px; + text-transform: uppercase; + color: black; + opacity: .35; +} +.blog-article-page .main-content .article-author.is-hidden, +.blog-article-page .main-content .article-date.is-hidden { + display: none; +} +.blog-article-page .article-author, +.blog-article-page .article-date { + opacity: .35; +} +.blog-article-page .dark-background .article-author, +.blog-article-page .dark-background .article-date { + color: white; +} +.blog-article-page.header-top-with-bg .header-bottom .voog-bg-picker-btn { + top: 180px; +} +@media screen and (max-width: 1024px) { + .blog-article-page.header-top-with-bg .header-bottom .voog-bg-picker-btn { + top: 155px; + } +} +@media screen and (max-width: 640px) { + .blog-article-page.header-top-with-bg .header-bottom .voog-bg-picker-btn { + top: 115px; + } +} + +.article-settings-wrap { + display: inline-block; +} + +.blog-article-page .wrap .hide-article-comments, +.blog-news-page .wrap .hide-article-comments { + display: none; +} +.blog-article-page .wrap .hide-article-date, +.blog-news-page .wrap .hide-article-date { + display: none; +} +.blog-article-page .wrap .hide-article-author, +.blog-news-page .wrap .hide-article-author { + display: none; +} + +.article-comments { + -webkit-transition: 250ms; + -o-transition: 250ms; + transition: 250ms; + position: absolute; + top: 0; + right: -486px; + z-index: 1; + width: 440px; + padding: 45px 40px; + background-color: white; + -webkit-box-shadow: -10px 19px 30px rgba(68, 68, 68, 0.31); + box-shadow: -10px 19px 30px rgba(68, 68, 68, 0.31); + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +@media screen and (max-width: 640px) { + .article-comments { + display: none; + right: 0; + -webkit-box-sizing: border-box; + box-sizing: border-box; + -webkit-box-shadow: none; + box-shadow: none; + -webkit-transition: 0ms; + -o-transition: 0ms; + transition: 0ms; + } +} +.article-comments.open { + -webkit-transition: 250ms; + -o-transition: 250ms; + transition: 250ms; + top: 0; + right: 0; + -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); + box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); +} +@media screen and (max-width: 640px) { + .article-comments.open { + display: block; + -webkit-transition: 0ms; + -o-transition: 0ms; + transition: 0ms; + width: 100%; + } +} +.article-comments .comments-body { + max-height: 100%; +} +@media screen and (max-width: 640px) { + .comments-open .article-comments .comments-body { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: auto; + -webkit-overflow-scrolling: touch; + -webkit-box-sizing: border-box; + box-sizing: border-box; + height: 100vh; + padding: 20px; + background-color: white; + } +} +.article-comments .comments-body .comments-header .comments-title { + margin-top: 0; +} +.article-comments .comments-body .comments-title { + margin: 20px 0 20px 0; + font-size: 24px; + font-weight: 300; + line-height: 1.7; + color: black; + cursor: text; + text-transform: none; +} +.article-comments .comments-body .comments-title .comments-count { + display: inline-block; + font-size: 14px; + color: black; + opacity: .35; + vertical-align: middle; +} +.article-comments .comments-body .form_field_textfield, +.article-comments .comments-body .form_field_textarea { + padding-top: 10px; + padding-bottom: 10px; + background-color: white; +} +.article-comments .comment { + margin: 20px 0 0; + color: rgba(0, 0, 0, 0.7); +} +.article-comments .comment:first-child { + margin-top: 0; +} +.article-comments .comment .comment-body { + display: block; + font-size: 16px; + line-height: 24px; +} +.article-comments .comment .comment-author, +.article-comments .comment .comment-date { + font-size: 14px; + font-weight: 300; + line-height: 2; + color: black; + opacity: .35; +} +.article-comments .comments-close.dark-background .btn-close { + background-color: white; +} +.article-comments .comments-close.dark-background .btn-close .ico-close { + fill: black; +} +.article-comments .comments-close .btn-close { + position: absolute; + top: 0; + left: -46px; + width: 46px; + height: 46px; + line-height: 1; + cursor: pointer; + background-color: black; +} +@media screen and (max-width: 850px) { + .article-comments .comments-close .btn-close { + right: 0; + left: auto; + background-color: white; + } +} +@media screen and (min-width: 851px) { + .article-comments .comments-close .btn-close:hover { + -webkit-transition: 500ms; + -o-transition: 500ms; + transition: 500ms; + opacity: .7; + } +} +.article-comments .comments-close .btn-close .ico-close { + padding: 15px; + fill: white; +} +@media screen and (max-width: 850px) { + .article-comments .comments-close .btn-close .ico-close { + fill: rgba(0, 0, 0, 0.7); + } + .article-comments .comments-close .btn-close .ico-close:hover { + -webkit-transition: 500ms; + -o-transition: 500ms; + transition: 500ms; + fill: rgba(0, 0, 0, 0.7); + } +} + +.blog-tags { + margin-bottom: 20px; +} +.blog-article .blog-tags { + margin-bottom: 15px; +} +.blog-tags .tags-toggle { + position: relative; + display: inline-block; + cursor: pointer; +} +.blog-tags .tags-icon { + position: absolute; + top: -3px; + left: 0; + fill: rgba(0, 0, 0, 0.7); +} +.dark-background .blog-tags .tags-icon { + fill: rgba(255, 255, 255, 0.7); +} +.blog-tags .tags-title { + padding: 0px 20px 0 25px; + font-weight: 400; + font-size: 14px; + text-transform: uppercase; +} +.blog-tags .ico-arrow { + position: absolute; + right: 0; + top: 3px; + width: 0; + height: 0; + border-style: solid; + border-width: 8px 5px 0 5px; + border-color: black transparent transparent transparent; +} +.blog-tags .ico-arrow.active { + border-width: 0 5px 8px 5px; + border-color: transparent transparent black transparent; +} +.dark-background .blog-tags .ico-arrow.active { + border-color: white transparent transparent transparent; +} +.dark-background .blog-tags .ico-arrow { + border-color: transparent transparent white transparent; +} +.blog-tags .tags-bottom { + display: none; + margin-top: 15px; +} +.blog-tags .tags-bottom.visible { + display: block; +} +.blog-tags .menu { + display: inline-block; + padding-left: 0; +} +.blog-tags .menu .menu-item { + display: inline-block; + margin-top: 5px; + vertical-align: top; +} +.blog-tags .menu .menu-item:before { + display: none; +} +.blog-tags .menu .menu-link { + padding: 1px 5px; + font-size: 12px; + color: #a4a4a4; + text-decoration: none; + border-radius: 3px; + background-color: rgba(0, 0, 0, 0.03); +} +.blog-tags .menu .menu-link:hover { + opacity: .7; +} +.blog-tags .menu .menu-link.active { + color: white; + background-color: #a4a4a4; +} +.dark-background .blog-tags .menu .menu-link { + background-color: rgba(255, 255, 255, 0.2); +} + +.site-header { + position: relative; +} +@media screen and (max-width: 850px) { + .site-header .header-left, .site-header .header-right { + float: none; + } + .no-flexbox .site-header .header-left, + .no-flexbox .site-header .header-right { + display: table-cell; + vertical-align: top; + } + .site-header .header-left { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + } +} +@media screen and (max-width: 640px) { + .search-open .site-header { + position: static; + } +} +.site-header .header-top .wrap { + padding-top: 40px; + padding-right: 40px; + padding-left: 40px; +} +.flexbox .site-header .header-top .wrap { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; +} +.header-top-with-bg .site-header .header-top .wrap { + padding-bottom: 40px; +} +@media screen and (max-width: 640px) { + .header-top-with-bg .site-header .header-top .wrap { + padding-bottom: 14px; + } +} +@media screen and (max-width: 640px) { + .site-header .header-top .wrap { + padding-top: 20px; + padding-right: 20px; + padding-left: 20px; + } +} +.site-header .header-top .site-options { + display: inline-block; + vertical-align: top; + height: 27px; +} +@media screen and (max-width: 1024px) { + .site-header .header-top .site-options { + margin-left: 20px; + } +} +.site-header .header-title { + -webkit-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; + word-break: break-word; + word-wrap: break-word; + font-size: 22px; + font-weight: 300; + line-height: 1; + position: relative; + min-width: 140px; +} +.site-header .header-title a { + text-decoration: none; +} +.site-header .header-title a:hover { + opacity: .7; +} +.blog-article-page .site-header .header-body { + text-align: center; +} +.site-header .header-left { + max-width: 100%; +} +.flexbox .site-header .header-left { + -webkit-box-flex: 1; + -ms-flex: 1 0 auto; + flex: 1 0 auto; +} +.no-flexbox .site-header .header-left { + float: left; +} +@media screen and (max-width: 640px) { + .no-flexbox .site-header .header-left { + float: none; + } +} +.site-header .header-right { + position: relative; + text-align: right; +} +@media screen and (max-width: 1024px) { + .site-header .header-right { + margin-top: 1px; + } +} +@media screen and (max-width: 640px) { + .search-open .site-header .header-right { + position: static; + } +} +.no-flexbox .site-header .header-right { + float: right; +} +.site-header .header-bottom .header-bottom-inner { + display: table; + width: 100%; + max-width: 1040px; + margin: 0 auto; + table-layout: fixed; + border-collapse: collapse; +} +.common-page .site-header .header-bottom .header-bottom-inner, .blog-news-page .site-header .header-bottom .header-bottom-inner, .blog-article-page .site-header .header-bottom .header-bottom-inner, .item-list-page .site-header .header-bottom .header-bottom-inner { + height: 253px; +} +@media screen and (max-width: 640px) { + .common-page .site-header .header-bottom .header-bottom-inner, .blog-news-page .site-header .header-bottom .header-bottom-inner, .blog-article-page .site-header .header-bottom .header-bottom-inner, .item-list-page .site-header .header-bottom .header-bottom-inner { + height: 130px; + } +} +.front-page .site-header .header-bottom .header-bottom-inner { + height: 606px; +} +@media screen and (max-width: 640px) { + .front-page .site-header .header-bottom .header-bottom-inner { + height: 400px; + } +} +.site-header .header-bottom .header-bottom-inner.header-bottom-only .wrap { + padding-top: 90px; +} +.site-header .header-bottom .header-bottom-inner .wrap { + display: table-cell; + padding: 60px 40px 90px; + vertical-align: middle; +} +.header-top-with-bg .site-header .header-bottom .header-bottom-inner .wrap { + padding-top: 74px; + padding-bottom: 76px; +} +@media screen and (max-width: 640px) { + .site-header .header-bottom .header-bottom-inner .wrap { + padding: 40px 20px 60px; + } + .header-top-with-bg .site-header .header-bottom .header-bottom-inner .wrap { + padding-top: 49px; + padding-bottom: 51px; + } +} +.site-header.photo-article .header-bottom .header-bottom-inner { + height: 606px; +} +@media screen and (max-width: 640px) { + .site-header.photo-article .header-bottom .header-bottom-inner { + height: 400px; + } +} +.site-header .header-body .article-author, +.site-header .header-body .article-date { + font-size: 14px; + font-weight: 400; + line-height: 2; + display: inline; + letter-spacing: 1px; + text-transform: uppercase; +} +.site-header .header-body .article-author.is-hidden, +.site-header .header-body .article-date.is-hidden { + display: none; +} +.site-header .header-body .article-title { + font-size: 60px; + font-weight: 300; + line-height: 1.2; + margin: 0 0 10px; + text-transform: none; +} +.publicmode .site-header .header-body .article-title { + cursor: pointer; +} +@media screen and (max-width: 640px) { + .site-header .header-body .article-title { + font-size: 32px; + } +} +.site-header .header-body .article-title a { + font-size: 1em; + text-decoration: none; +} +.site-header .header-body .blog-title { + font-weight: 700; + line-height: 1; + margin-top: 0; + text-transform: uppercase; +} +.site-header .header-body .blog-title.is-hidden { + display: none; +} + +/* NAVIGATION MENUS*/ +.menu-btn-wrap { + display: inline-block; + vertical-align: middle; + margin-left: 30px; +} +.language-menu-mode-list .menu-btn-wrap.menu-language-popover-btn { + display: none; +} +@media screen and (max-width: 1024px) { + .menu-btn-wrap { + display: none; + } +} + +.toggle-sub-menu { + position: absolute; + top: 11px; + right: -10px; + display: block; + padding: 9px 11px 8px; + margin-top: -6px; +} +.no-svg .toggle-sub-menu:before { + display: block; + width: 0; + height: 0; + content: ''; + border-width: 5px 0 5px 8px; + border-style: solid; + border-color: transparent transparent transparent black; +} +.svg .toggle-sub-menu { + fill: black; + opacity: .2; +} +.no-svg .toggle-sub-menu.active:before { + border-width: 8px 5px 0; + border-color: black transparent transparent transparent; +} +.svg .toggle-sub-menu.active { + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.no-svg .toggle-sub-menu.highlighted { + border-color: black transparent transparent transparent; +} +.svg .toggle-sub-menu.highlighted { + fill: black; +} + +.menu { + -webkit-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; + word-break: break-word; + word-wrap: break-word; + margin-top: 0; + margin-bottom: 0; + padding-left: 0; + list-style-type: none; +} +.menu li { + font-weight: 300; + line-height: 1.7; +} +.menu li:last-child { + margin-right: 0; +} +.menu li.selected { + font-weight: 500; +} +.menu li.is-hidden { + display: none; +} +.menu li a { + display: block; + border-style: none; +} +.menu li a.untranslated { + color: rgba(199, 9, 9, 0.7); +} +.menu li a.untranslated:hover { + color: #c70909; +} + +.menu-main { + display: inline-block; + vertical-align: top; + text-transform: uppercase; +} +.menu-main li { + display: inline-block; + margin-left: 20px; + font-size: 16px; +} + +.menu-sub li { + margin-right: 10px; +} + +.menu-language-settings { + margin-top: 0; + margin-bottom: 0; + padding-left: 0; +} +.language-menu-mode-popover .menu-language-settings .menu-item-cms { + padding-top: 5px !important; +} +.language-menu-mode-list .menu-language-settings .menu-item-cms { + padding-top: 2px !important; +} + +.menu-item-list { + margin-top: 15px; +} +@media screen and (min-width: 1025px) { + .menu-item-list.is-hidden-desktop { + display: none; + } +} +.item-list-page .menu-item-list { + margin-bottom: 15px; +} +.common-page .menu-item-list { + margin-bottom: 18px; +} +.menu-item-list .menu-item { + display: inline-block; + font-size: 14px; + opacity: .5; +} +.menu-item-list .menu-item:not(.current):hover { + opacity: .8; +} +.menu-item-list .menu-item.selected { + font-weight: 400; +} +.menu-item-list .menu-item.current { + font-weight: 500; + opacity: 1; +} + +.menu-item-cms { + margin-left: 10px; +} +.menu-item-cms.float-right { + float: right; +} + +.menu-separator { + opacity: .5; +} +.menu-separator:first-child { + display: none; +} + +/* mobile-menu */ +#mobile-menu { + display: none; +} + +.mobile-menu-toggler, +.mobile-menu-toggler { + display: none; +} + +@media screen and (max-width: 1024px) { + .site-header .header-right .menu-main { + display: none; + } + + .mobilemenu-open, + .mobilesearch-open { + position: fixed; + overflow: hidden; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + .mobilemenu-open #mobile-menu, + .mobilesearch-open #mobile-menu { + position: absolute; + top: 0; + width: 250px; + height: 100%; + } + + .mobile-menu-toggler { + position: absolute; + top: -12px; + right: -12px; + display: block; + width: 45px; + height: 44px; + outline: 0; + } + .mobile-menu-toggler span, .mobile-menu-toggler span:before, .mobile-menu-toggler span:after { + position: absolute; + top: 14px; + left: 12px; + display: block; + width: 21px; + height: 2px; + content: ''; + background-color: black; + } + .dark-background .mobile-menu-toggler span, .dark-background .mobile-menu-toggler span:before, .dark-background .mobile-menu-toggler span:after { + background-color: white; + } + .language-flags-disabled .mobile-menu-toggler span .lang-menu-btn, .language-flags-disabled .mobile-menu-toggler span:before .lang-menu-btn, .language-flags-disabled .mobile-menu-toggler span:after .lang-menu-btn { + position: static; + width: auto; + height: auto; + background-color: #c70909; + } + .language-flags-disabled .mobile-menu-toggler span .lang-menu-btn:before, .language-flags-disabled .mobile-menu-toggler span .lang-menu-btn:after, .language-flags-disabled .mobile-menu-toggler span:before .lang-menu-btn:before, .language-flags-disabled .mobile-menu-toggler span:before .lang-menu-btn:after, .language-flags-disabled .mobile-menu-toggler span:after .lang-menu-btn:before, .language-flags-disabled .mobile-menu-toggler span:after .lang-menu-btn:after { + display: none; + } + .language-flags-disabled .mobile-menu-toggler span .lang-menu-btn .lang-title, .language-flags-disabled .mobile-menu-toggler span:before .lang-menu-btn .lang-title, .language-flags-disabled .mobile-menu-toggler span:after .lang-menu-btn .lang-title { + position: static; + color: white; + } + .mobile-menu-toggler span:before { + top: 7px; + left: 0; + } + .mobile-menu-toggler span:after { + top: 14px; + left: 0; + } + + #mobile-menu { + -webkit-transition: -webkit-transform .5s; + transition: -webkit-transform .5s; + -o-transition: transform .5s; + transition: transform .5s; + transition: transform .5s, -webkit-transform .5s; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + font-family: "Roboto", sans-serif; + position: fixed; + z-index: 1000; + top: 0; + right: 0; + height: 100%; + display: block; + overflow: auto; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 250px; + padding: 30px 20px; + background-color: white; + } + #mobile-menu.reset-touch { + -webkit-overflow-scrolling: touch; + } +} +@media screen and (max-width: 1024px) and (max-width: 640px) { + #mobile-menu { + padding-top: 10px; + } +} +@media screen and (max-width: 1024px) { + .editmode #mobile-menu { + height: calc(100% - 40px); + } + .mobilemenu-open #mobile-menu { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + #mobile-menu .search-open-btn { + -webkit-transition: right .3s; + -o-transition: right .3s; + transition: right .3s; + position: absolute; + top: 28px; + right: 78px; + width: 42px; + height: 42px; + margin-left: 0; + } + #mobile-menu .search-open-btn.no-back-btn { + right: 108px; + } + #mobile-menu .search-open-btn.search-active { + display: none; + } + #mobile-menu .search-open-btn svg { + fill: black; + } + #mobile-menu ul { + margin: 0; + padding: 0; + list-style-type: none; + } + #mobile-menu ul li { + position: relative; + margin: 0; + } + .language-names-disabled #mobile-menu ul li.lang-item { + position: relative; + left: -5px; + display: inline-block; + } + #mobile-menu ul li.is-hidden { + display: none; + } + #mobile-menu ul li.edit-btn { + margin: 10px 0; + } + #mobile-menu ul a { + line-height: 1.3; + padding: 10px 0; + text-transform: uppercase; + color: rgba(0, 0, 0, 0.7); + } + .language-names-enabled #mobile-menu ul a.lang-flag { + font-size: 16px; + } + .language-names-disabled #mobile-menu ul a.lang-flag { + font-size: 0; + padding: 15px 15px 8px 16px; + opacity: .7; + } + .language-names-disabled #mobile-menu ul a.lang-flag:hover, .language-names-disabled #mobile-menu ul a.lang-flag.is-active { + opacity: 1; + } + #mobile-menu ul a.untranslated { + color: rgba(199, 9, 9, 0.7); + } + #mobile-menu ul a.untranslated:hover { + color: #c70909; + } + #mobile-menu .navigation-menu { + word-break: break-all; + } + #mobile-menu .navigation-menu .with-children > a { + margin-right: 30px; + } + #mobile-menu .navigation-menu ul a { + display: block; + } + #mobile-menu .navigation-menu ul a.visible { + display: inline-block; + } + #mobile-menu .navigation-menu ul a.selected { + font-weight: 500; + color: black; + } + #mobile-menu .navigation-menu ul a.indented { + margin-left: 10px; + } + #mobile-menu .navigation-menu ul.current-menu > li:first-child > a { + text-transform: uppercase; + } + #mobile-menu .navigation-menu ul.child-menu li a.edy-cbtn { + display: inline !important; + } + #mobile-menu .navigation-menu .option-btn { + padding: 15px 0; + } + #mobile-menu .sub-menu a { + text-transform: initial; + } + #mobile-menu .menu-level-2, + #mobile-menu .menu-level-3 { + display: none; + padding-left: 10px; + } + #mobile-menu .current-parent > .menu-level-2, #mobile-menu .current-parent > .menu-level-3 { + display: block; + } + #mobile-menu .lang-menu { + display: block; + margin-top: 20px; + margin-left: 0; + } + #mobile-menu .lang-menu ul { + margin: 0; + padding: 0; + } + #mobile-menu .lang-menu ul li { + text-align: left; + } + #mobile-menu .lang-menu ul li a { + padding: 7px 0 5px; + text-align: left; + } + .language-names-enabled #mobile-menu .lang-menu ul li a.lang-flag:before, .language-names-enabled #mobile-menu .lang-menu ul li a.lang-flag:after { + top: 8px; + right: auto; + left: 0; + } + .language-names-disabled #mobile-menu .lang-menu ul li a.lang-flag:before, .language-names-disabled #mobile-menu .lang-menu ul li a.lang-flag:after { + top: 5px; + left: 5px; + } + #mobile-menu .lang-menu ul li a.is-active { + font-weight: 500; + color: black; + } + .language-flags-enabled #mobile-menu .lang-menu a { + padding-left: 25px; + } +} +/* flags */ +.lang-flag:before, .lang-flag:after { + position: absolute; + top: 0; + left: 0; + display: block; + width: 21px; + height: 15px; + content: ''; +} +.language-flags-disabled .lang-flag:before, .language-flags-disabled .lang-flag:after { + display: none; +} +.lang-flag:after { + background-position: -189px -60px; +} + +.lang-flag:before { + background-color: black; +} + +.lang-flag:after { + padding-top: 3px; + padding-bottom: 3px; + font-size: 9px; + line-height: 1; + text-align: center; + text-transform: uppercase; + background-position: 0 -75px; + background-repeat: no-repeat; + content: attr(data-lang-code); + opacity: .95; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.no-boxshadow .lang-flag:after { + border: 1px solid white; +} +.svg .lang-flag:after { + background-image: url("../assets/ico-flags.svg"); +} +.lang-flag:after .no-svg { + background-image: url("../images/ico-flags.png"); +} + +.lang-flag-sq:after { + background-position: 0 0; + content: ''; +} + +.lang-flag-hy:after { + background-position: -21px 0; + content: ''; +} + +.lang-flag-bn:after { + background-position: -42px 0; + content: ''; +} + +.lang-flag-bg:after { + background-position: -84px 0; + content: ''; +} + +.lang-flag-zh:after { + background-position: -105px 0; + content: ''; +} + +.lang-flag-hr:after { + background-position: -126px 0; + content: ''; +} + +.lang-flag-da:after { + background-position: -147px 0; + content: ''; +} + +.lang-flag-cs:after { + background-position: -168px 0; + content: ''; +} + +.lang-flag-et:after { + background-position: -189px 0; + content: ''; +} + +.lang-flag-fi:after { + background-position: 0 -15px; + content: ''; +} + +.lang-flag-fr:after { + background-position: -21px -15px; + content: ''; +} + +.lang-flag-ka:after { + background-position: -42px -15px; + content: ''; +} + +.lang-flag-de:after { + background-position: -63px -15px; + content: ''; +} + +.lang-flag-el:after { + background-position: -84px -15px; + content: ''; +} + +.lang-flag-hu:after { + background-position: -105px -15px; + content: ''; +} + +.lang-flag-is:after { + background-position: -126px -15px; + content: ''; +} + +.lang-flag-hi:after { + background-position: -147px -15px; + content: ''; +} + +.lang-flag-id:after { + background-position: -168px -15px; + content: ''; +} + +.lang-flag-fa:after { + background-position: -189px -15px; + content: ''; +} + +.lang-flag-he:after { + background-position: 0 -30px; + content: ''; +} + +.lang-flag-it:after { + background-position: -21px -30px; + content: ''; +} + +.lang-flag-ja:after { + background-position: -42px -30px; + content: ''; +} + +.lang-flag-ko:after { + background-position: -63px -30px; + content: ''; +} + +.lang-flag-lv:after { + background-position: -84px -30px; + content: ''; +} + +.lang-flag-lt:after { + background-position: -105px -30px; + content: ''; +} + +.lang-flag-ms:after { + background-position: -126px -30px; + content: ''; +} + +.lang-flag-nl:after { + background-position: -147px -30px; + content: ''; +} + +.lang-flag-no:after { + background-position: -168px -30px; + content: ''; +} + +.lang-flag-ur:after { + background-position: -189px -30px; + content: ''; +} + +.lang-flag-fil:after { + background-position: 0 -45px; + content: ''; +} + +.lang-flag-pl:after { + background-position: -21px -45px; + content: ''; +} + +.lang-flag-ro:after { + background-position: -42px -45px; + content: ''; +} + +.lang-flag-ru:after { + background-position: -63px -45px; + content: ''; +} + +.lang-flag-ar:after { + background-position: -84px -45px; + content: ''; +} + +.lang-flag-sk:after { + background-position: -105px -45px; + content: ''; +} + +.lang-flag-sl:after { + background-position: -126px -45px; + content: ''; +} + +.lang-flag-es:after { + background-position: -147px -45px; + content: ''; +} + +.lang-flag-sv:after { + background-position: -168px -45px; + content: ''; +} + +.lang-flag-tr:after { + background-position: -189px -45px; + content: ''; +} + +.lang-flag-uk:after { + background-position: 0 -60px; + content: ''; +} + +.lang-flag-en:after { + background-position: -21px -60px; + content: ''; +} + +.lang-flag-pt:after { + background-position: -84px -60px; + content: ''; +} + +.lang-flag-sr:after { + background-position: -126px -60px; + content: ''; +} + +.lang-flag-bn:after { + background-position: -147px -60px; + content: ''; +} + +.lang-flag-th:after { + background-position: -189px -60px; + content: ''; +} + +/* langmenu */ +.lang-menu { + display: inline-block; + margin-left: 40px; + vertical-align: top; +} +@media screen and (max-width: 1024px) { + .lang-menu { + display: none; + } +} +.language-menu-mode-popover .lang-menu.menu-language-list { + display: none; +} +.lang-menu.menu-language-list .lang-title { + display: inline-block; +} +.lang-menu.menu-language-list .lang-title a { + opacity: .7; +} +.lang-menu.menu-language-list .lang-title a:hover { + opacity: 1; +} +.lang-menu.menu-language-list .lang-title a.is-active { + font-weight: 400; + opacity: 1; +} +.lang-menu.menu-language-list .menu-item-cms { + display: inline-block; + padding-left: 5px; +} +.lang-menu li { + line-height: normal; + display: block; + text-align: right; + text-transform: uppercase; +} +.lang-menu li a { + font-weight: 400; + color: rgba(0, 0, 0, 0.7); +} +.lang-menu li.menu-item-cms { + padding-right: 18px; + padding-left: 18px; +} +.lang-menu li.menu-item-cms:last-child { + padding-top: 5px; + padding-bottom: 10px; +} +.language-menu-mode-list .lang-menu li.menu-item-cms:last-child { + padding-right: 9px; +} +#mobile-menu .lang-menu li.menu-item-cms:last-child { + padding-top: 0; + padding-left: 0; +} +.lang-menu a.lang-flag { + position: relative; + display: block; + text-align: right; +} +.dark-background .lang-menu a.lang-flag, .light-background .lang-menu a.lang-flag { + color: rgba(0, 0, 0, 0.7); +} +.dark-background .lang-menu a.lang-flag:hover, .light-background .lang-menu a.lang-flag:hover { + color: black; +} +.language-names-enabled.language-flags-enabled .lang-menu a.lang-flag { + padding: 5px 40px 5px 13px; +} +.language-menu-mode-popover.language-names-disabled.language-flags-enabled .lang-menu a.lang-flag { + padding: 15px 32px 14px 13px; +} +.language-menu-mode-list.language-names-disabled.language-flags-enabled .lang-menu a.lang-flag { + padding: 15px 15px 8px 16px; +} +.lang-menu a.lang-flag:before, .lang-menu a.lang-flag:after { + left: 12px; +} +.language-menu-mode-popover .lang-menu a.lang-flag:before, .language-menu-mode-popover .lang-menu a.lang-flag:after { + top: 7px; +} +.language-menu-mode-list.language-names-disabled.language-flags-enabled .lang-menu a.lang-flag:before, .language-menu-mode-list.language-names-disabled.language-flags-enabled .lang-menu a.lang-flag:after { + left: 5px; +} +.language-menu-mode-list.language-names-disabled.language-flags-enabled .lang-menu a.lang-flag:before, .language-menu-mode-list.language-names-enabled.language-flags-enabled .lang-menu a.lang-flag:before, .language-menu-mode-list.language-names-disabled.language-flags-enabled .lang-menu a.lang-flag:after, .language-menu-mode-list.language-names-enabled.language-flags-enabled .lang-menu a.lang-flag:after { + top: 5px; +} +.lang-menu a.lang-flag:before, .lang-menu a.lang-flag:after { + right: 12px; + left: auto; +} +.lang-menu a.edy-menu-langadd { + padding: 5px; +} +.language-flags-disabled .lang-menu a.lang-flag { + padding: 5px 10px; +} +.language-menu-mode-list.language-flags-disabled .lang-menu .lang-title:last-child a.lang-flag { + padding-right: 0; +} + +.lang-title { + text-transform: uppercase; + background-color: transparent; +} +.lang-title a { + text-transform: uppercase; + background-color: transparent; +} +.language-names-enabled .lang-title a { + font-size: 14px; +} +.language-names-disabled .lang-title a { + font-size: 0; +} + +.lang-menu-btn { + font-family: inherit; + font-size: 14px; + position: relative; + display: block; + margin: 0; + padding: 6px 3px; + cursor: pointer; + border: none; + background: none; + line-height: 1; +} +.language-flags-enabled .lang-menu-btn { + width: 21px; + padding: 13px 14px 13px 13px; +} +.language-flags-enabled .lang-menu-btn .lang-title { + display: none; +} +.lang-menu-btn.lang-flag:before, .lang-menu-btn.lang-flag:after { + top: 6px; + left: 3px; +} +.lang-menu-btn .lang-title-inner { + position: relative; + padding: 5px 12px 5px 5px; +} +.lang-menu-btn .lang-title-inner:after { + position: absolute; + top: 50%; + right: 0; + display: block; + margin-top: -3px; + width: 0; + height: 0; + content: ""; + border-style: solid; + border-width: 6px 3px 0 3px; + border-color: black transparent transparent transparent; +} +.dark-background .lang-menu-btn .lang-title-inner:after { + border-color: white transparent transparent transparent; +} + +.lang-menu-popover { + line-height: 1; + position: absolute; + z-index: 1; + display: none; + padding: 5px 0; + text-align: left; + background-color: white; + -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); +} +.no-boxshadow .lang-menu-popover { + border: 1px solid white; +} +.editmode .lang-menu-popover { + padding-bottom: 0; +} +@media screen and (min-width: 1025px) { + .menu-language-popover-open .lang-menu-popover { + display: block; + } +} +.lang-menu-popover a:hover { + background-color: rgba(0, 0, 0, 0.1); +} +.lang-menu-popover a.active { + background-color: rgba(0, 0, 0, 0.2); +} + +.site-search { + margin-right: 10px; +} +.site-search .search-input { + width: 128px; + padding: 4px 5px 3px; + font-size: 14px; + border-width: 1px; + border-style: solid; + border-color: rgba(0, 0, 0, 0.53); + border-radius: 3px; +} +.site-search .search-submit { + position: relative; + top: -1px; +} + +/* SEARCH */ +.search { + display: none; + position: absolute; + width: 310px; + height: 50px; + line-height: 1; +} +@media screen and (max-width: 640px) { + .search { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + height: auto; + width: auto; + background-color: #f7f7f7; + } +} +.search.active { + position: absolute; + right: 0; + z-index: 20; + display: block; +} +@media screen and (min-width: 641px) { + .search.active { + top: 30px; + } +} + +.search-middle { + vertical-align: middle; + width: 100%; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.search-inner { + position: relative; + -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); +} + +.search-form { + position: relative; + z-index: 20; + background-color: white; + -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); +} +@media screen and (max-width: 640px) { + .search-form { + padding-top: 10px; + padding-bottom: 6px; + -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1); + } +} +.search-form, .search-form.selected { + margin: 0 auto; + border: none; +} +@media screen and (min-width: 641px) { + .search-form, .search-form.selected { + max-width: 400px; + } +} + +.search-input { + vertical-align: middle; + width: 100%; + height: 40px; + margin: 0; + padding: 0 55px 0 15px; + font-family: inherit; + font-size: 16px; + line-height: 20px; + color: black; + background: none; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border: none; +} +@media screen and (max-width: 640px) { + .search-open .search-input { + padding: 0px 61px 0 42px; + } +} +.search-input::-ms-clear { + display: none; +} +.search-input::-webkit-input-placeholder { + padding: 2px 0 4px 0; + line-height: 1; + color: rgba(0, 0, 0, 0.5); +} +.search-input:focus { + outline: none; +} + +.search-btn, .search-submit { + width: 30px; + height: 50px; + background-color: transparent; +} +.no-svg .search-btn, +.no-svg .search-submit { + background-position: center; + background-repeat: no-repeat; + background-image: url("../images/ico-search-white.png"); +} +.no-svg .light-background .search-btn, .no-svg .light-background .search-submit { + background-image: url("../images/ico-search-black.png"); +} + +.search-submit { + opacity: .5; + position: absolute; + top: 0; + right: 25px; + padding-top: 2px; + width: 41px; + background-size: 32px; + background-color: transparent; +} +.search-submit:hover { + opacity: 1; +} + +.search-btn { + z-index: 21; + vertical-align: middle; + width: 26px; + height: 26px; + font-size: 0; +} +@media screen and (min-width: 1025px) { + .search-btn { + margin-left: 28px; + } +} +@media screen and (max-width: 1024px) { + .search-btn { + margin-right: 36px; + top: -3px; + position: relative; + } + .search-active .search-btn { + position: static; + } +} +.front-page .header-options .search-btn { + top: 1px; +} +.content-page .header-options .search-btn { + top: 4px; +} +.header-options .search-btn svg { + fill: rgba(0, 0, 0, 0.7); +} +.front-page .header-options .search-btn svg { + fill: white; +} +.front-page .light-background .search-btn svg { + fill: black; +} +.search-btn:hover svg { + fill: rgba(0, 0, 0, 0.47); +} +.search-btn:focus { + outline: none; +} +@media screen and (max-width: 640px) { + .content-page .header-options .search-btn { + margin-right: 35px; + } +} + +@media screen and (max-width: 640px) { + .search-open .search-open-btn { + margin: 0; + position: absolute; + top: 16px; + left: 10px; + } + .comments-open .search-open-btn { + display: none; + } +} + +.search-close-btn { + position: absolute; + right: 0; + width: auto; + height: auto; + margin: 0; + border-left: 1px solid #eeeeee; +} +@media screen and (min-width: 641px) { + .search-close-btn { + top: 8px; + padding: 8px 15px; + } +} +@media screen and (max-width: 640px) { + .search-close-btn { + top: 10px; + z-index: 1000; + padding: 12px 20px; + } +} + +.voog-search-modal { + display: none; + -webkit-box-sizing: border-box; + box-sizing: border-box; + z-index: 999; + width: 100%; + max-height: calc(100vh - 140px); + margin: 0 auto; + background-color: white; + -webkit-box-shadow: none; + box-shadow: none; + overflow: auto; + -webkit-overflow-scrolling: touch; + text-align: left; +} +.voog-search-modal.no-content { + padding: 20px; + color: black; +} +.voog-search-modal.search-results-active { + display: block; +} +@media screen and (min-width: 641px) { + .voog-search-modal { + max-width: 400px; + } +} + +.voog-search-modal-results h3 { + margin: 0; + font-size: 16px; + color: black; + font-weight: 400; + line-height: 1.3; +} +.voog-search-modal-results h3 a { + text-decoration: none; + color: black; +} +.voog-search-modal-results h3 a:hover { + color: rgba(0, 0, 0, 0.8); +} +.voog-search-modal-results p { + margin: 5px 0 0; + font-size: 14px; + line-height: 24px; + color: rgba(0, 0, 0, 0.7); +} +.voog-search-modal-results em { + font-style: normal; + background-color: rgba(249, 236, 90, 0.5); + border-radius: 2px; + padding: 0 2px; +} + +.voog-search-modal-result { + padding: 15px; + border-top: rgba(0, 0, 0, 0.13) solid 1px; +} +.voog-search-modal-result:first-of-type { + border-top: 1px solid transparent; +} + +.site-sidebar { + display: inline-block; + vertical-align: top; + width: 220px; + margin: 50px 0 50px 40px; +} +@media screen and (max-width: 1024px) { + .site-sidebar { + display: none; + } +} +@media screen and (min-width: 1500px) { + .site-sidebar { + width: 20%; + } +} +.site-sidebar .sidebar-title { + font-size: 18px; + font-weight: 400; + line-height: 2; + text-transform: uppercase; + margin: 0; +} +@media screen and (max-width: 1024px) { + .site-sidebar .sidebar-title { + display: none; + } +} +.site-sidebar .sidebar-title a { + color: black; +} +.dark-background .site-sidebar .sidebar-title a { + color: white; +} +.site-sidebar .submenu { + margin-bottom: 0; + padding: 0; +} +.site-sidebar .submenu ul, .site-sidebar .submenu li { + list-style: none; +} +.site-sidebar .submenu li { + font-size: 18px; + font-weight: 300; + line-height: 1.7; + margin: 15px 0; +} +.site-sidebar .submenu li:last-child { + margin-bottom: 0; +} +@media screen and (max-width: 1024px) { + .site-sidebar .submenu li { + display: inline-block; + margin-right: 20px; + } +} +.site-sidebar .submenu a { + color: black; + opacity: .5; +} +.dark-background .site-sidebar .submenu a { + color: white; +} +.site-sidebar .submenu a:hover { + opacity: 1; +} +.dark-background .site-sidebar .submenu a:hover { + color: rgba(255, 255, 255, 0.8); +} +.site-sidebar .submenu a.untranslated { + color: rgba(199, 9, 9, 0.7); +} +.site-sidebar .submenu a.untranslated:hover { + color: #c70909; +} +.site-sidebar .submenu .selected { + font-weight: 500; + opacity: 1; +} +.dark-background .site-sidebar .submenu .selected { + color: white; +} +.dark-background .site-sidebar .submenu .selected:hover { + color: white; +} +.site-sidebar .submenu .submenu-lvl2 { + padding-left: 25px; +} +@media screen and (max-width: 1024px) { + .site-sidebar .submenu .submenu-lvl2 { + display: none; + } +} +.site-sidebar .submenu .submenu-lvl2 li { + font-size: 16px; + line-height: 1.7; + font-weight: 300; +} +.site-sidebar .submenu .submenu-lvl2 a { + color: black; + opacity: 1; +} +.dark-background .site-sidebar .submenu .submenu-lvl2 a { + color: white; +} +.dark-background .site-sidebar .submenu .submenu-lvl2 a:hover { + color: rgba(255, 255, 255, 0.5); +} +.site-sidebar .submenu .submenu-lvl2 a:hover { + opacity: .5; +} +.site-sidebar .submenu .submenu-lvl2 a.untranslated { + color: rgba(199, 9, 9, 0.7); +} +.site-sidebar .submenu .submenu-lvl2 a.untranslated:hover { + color: #c70909; +} +.site-sidebar .submenu .submenu-lvl2 .selected { + font-weight: 500; +} +.dark-background .site-sidebar .submenu .submenu-lvl2 .selected { + color: white; +} +.dark-background .site-sidebar .submenu .submenu-lvl2 .selected a:hover { + color: white; +} +.site-sidebar .submenu .submenu-lvl2 .selected a:hover { + opacity: 1; +} + +.content-item-boxes { + margin-top: -15px; + font-size: 0; + line-height: 1.3; +} +@media screen and (min-width: 241px) and (max-width: 640px) { + .content-item-boxes { + margin-right: -10px; + margin-left: -10px; + } +} +@media screen and (min-width: 641px) { + .content-item-boxes { + margin-right: -15px; + margin-left: -15px; + } +} + +.content-item-box { + color: rgba(0, 0, 0, 0.8); +} +.item-list-page .content-item-box { + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +@media screen and (max-width: 240px) { + .item-list-page .content-item-box { + display: block; + } +} +@media screen and (min-width: 241px) { + .item-list-page .content-item-box { + display: inline-block; + vertical-align: top; + } +} +@media screen and (min-width: 241px) and (max-width: 640px) { + .item-list-page .content-item-box { + width: 50%; + padding: 10px 10px 5px 10px; + } +} +@media screen and (min-width: 641px) { + .item-list-page .content-item-box { + width: 33.3%; + min-width: 195px; + padding: 15px 2%; + } +} +.content-illustrations .content-item-box { + margin-bottom: 40px; +} +.content-item-box .top-inner { + opacity: 1; +} +.editmode .content-item-box .top-inner::after, .item-list-page .content-item-box .top-inner::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + display: block; + background-color: #fff; + content: ''; + opacity: 0; + -webkit-transition: opacity .5s; + -o-transition: opacity .5s; + transition: opacity .5s; +} +.editmode .content-item-box:hover .top-inner::after, .item-list-page .content-item-box:hover .top-inner::after { + opacity: .2; +} + +.content-items { + padding-right: 20px; + padding-left: 20px; +} +@media screen and (max-width: 640px) { + .content-items { + margin-top: 30px; + } +} +@media screen and (min-width: 641px) { + .content-items { + margin-top: 100px; + } +} + +.content-item { + margin-bottom: 15px; +} + +.item-top { + position: relative; +} +.item-top:before { + display: block; + content: ''; + width: 100%; + padding-top: 100%; +} +.item-top > .aspect-ratio-inner { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; +} +.item-top:hover .btn, +.item-top:hover .edy-img-drop-area-remove-image { + opacity: 1; +} +.item-top .btn { + padding: 0; + background-color: rgba(0, 102, 187, 0.3); + border: 0; + opacity: 0; + -webkit-transition: background-color .5s, opacity .5s; + -o-transition: background-color .5s, opacity .5s; + transition: background-color .5s, opacity .5s; +} +.item-top .btn:hover { + background-color: #0066bb; +} +.item-top .bg-crop-btn { + height: 45px; + width: 45px; + position: absolute; + top: 0; + left: 0; + z-index: 9; + margin-top: 10px; + margin-left: 10px; + cursor: pointer; + border-radius: 100%; + color: white; +} +.item-top .bg-crop-btn:focus { + outline: 0; +} +.item-top .bg-crop-btn.is-visible { + display: block; +} +.item-top .bg-crop-btn.is-hidden, .without-image .item-top .bg-crop-btn { + display: none; +} +.item-top .edy-img-drop-area-remove-image { + height: 45px; + width: 45px; + top: 10px; + right: 10px; + z-index: 9; + color: white; + background-color: rgba(0, 102, 187, 0.3); + border: 0; + opacity: 0; + -webkit-transition: background-color .5s, opacity .5s; + -o-transition: background-color .5s, opacity .5s; + transition: background-color .5s, opacity .5s; +} +.item-top .edy-img-drop-area-remove-image:hover { + background-color: #0066bb; +} +.item-top .edy-img-drop-area-remove-image-ico { + margin-top: -10px; + margin-left: -8px; +} +.item-top .top-inner { + -webkit-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; + word-break: break-word; + word-wrap: break-word; + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + font-weight: 300; + line-height: 1.2; + text-align: center; +} +.publicmode .item-top .top-inner { + overflow: hidden; +} +.publicmode .item-top .top-inner .image-landscape.not-cropped { + width: 100%; + height: auto; + max-width: 100%; +} +.publicmode .item-top .top-inner .image-landscape.is-cropped { + width: auto; + height: 100%; +} +.publicmode .item-top .top-inner .image-portrait.not-cropped { + width: auto; + height: 100%; + max-height: 100%; +} +.publicmode .item-top .top-inner .image-portrait.is-cropped { + width: 100%; + height: auto; +} +.publicmode .item-top .top-inner .image-square { + width: 100%; + height: auto; +} +.with-image .item-top .top-inner { + background-color: rgba(0, 0, 0, 0.02); +} +.without-image .item-top .top-inner { + border-color: rgba(0, 0, 0, 0.1); + border-style: solid; + border-width: 1px; +} +@media screen and (max-width: 240px) { + .item-top .top-inner { + font-size: 16px; + } +} +@media screen and (min-width: 241px) { + .item-top .top-inner { + font-size: 13px; + } +} +@media screen and (min-width: 291px) { + .item-top .top-inner { + font-size: 16px; + } +} +@media screen and (min-width: 341px) { + .item-top .top-inner { + font-size: 20px; + } +} +@media screen and (min-width: 1025px) { + .item-top .top-inner { + font-size: 30px; + } +} +.item-top .image-drop-area { + background-position: center !important; + background-repeat: no-repeat; +} +.item-top .image-drop-area.not-cropped { + background-size: contain; +} +.item-top .image-drop-area:not(.active) { + border-color: rgba(0, 0, 0, 0.4); + border-style: dashed; + border-width: 1px; +} +.item-top .image-drop-area:not(.active):hover { + border-style: solid; +} +@media screen and (max-width: 640px) { + .item-top .image-drop-area .edy-img-drop-area-placeholder { + font-size: 13px; + } +} +@media screen and (min-width: 641px) { + .item-top .image-drop-area .edy-img-drop-area-placeholder { + font-size: 18px; + } +} + +.item-image { + border: 0; +} +.publicmode .item-image.is-cropped { + position: absolute; + top: -100%; + right: -100%; + bottom: -100%; + left: -100%; + max-width: none; + margin: auto; +} +.item-list-page .item-image { + display: block; +} + +.item-placeholder { + width: 100%; + padding: .5em; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.item-title { + -webkit-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; + word-break: break-word; + word-wrap: break-word; + margin-top: 0; + margin-bottom: 0; + line-height: 1.2; + text-align: center; +} +.item-title .item-link { + color: inherit; +} +.content-item-box .item-title .item-link { + display: block; +} +.item-list-page .item-title { + font-weight: 400; +} +@media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 13 / 10), only screen and (-webkit-min-device-pixel-ratio: 1.25), only screen and (-o-min-device-pixel-ratio: 5/4), only screen and (min-resolution: 120dpi) { + .item-list-page .item-title { + font-weight: 100; + } +} +@media screen and (max-width: 640px) { + .content-item-box .item-title { + font-size: 13px; + } +} +@media screen and (min-width: 641px) { + .content-item-box .item-title { + font-size: 18px; + } +} +@media screen and (max-width: 640px) { + .content-item .item-title { + font-size: 18px; + } +} +@media screen and (min-width: 641px) { + .content-item .item-title { + font-size: 30px; + } +} +@media screen and (max-width: 640px) { + .blog-article-page .item-title { + font-size: 32px; + } +} +@media screen and (min-width: 641px) { + .blog-article-page .item-title { + font-size: 50px; + } +} +.content-item-box > .item-title { + margin-top: 20px; + margin-bottom: 5px; +} + +@media screen and (min-width: 641px) { + .content-illustrations { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + max-width: 520px; + margin-right: 40px; + } +} + +@media screen and (max-width: 640px) { + .item-page .content-body { + padding-top: 40px; + } +} +@media screen and (min-width: 641px) { + .item-page .content-body { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + } +} + +.items-body { + padding-top: 30px; + padding-bottom: 30px; +} +@media screen and (min-width: 641px) { + .items-body { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + } +} + +.site-footer { + position: relative; + min-height: 100px; +} +.site-footer .inner { + min-height: 25px; + padding-top: 40px; + padding-bottom: 40px; +} +.site-footer .dark-background .content-area a { + color: white; +} +.site-footer .voog-reference { + opacity: .55; + padding: 0 0 40px; + color: black; + text-align: center; +} +.site-footer .voog-reference:hover { + opacity: .8; +} +.site-footer .voog-reference-with-padding { + padding-top: 40px; +} +.site-footer .blog-article-nav { + -webkit-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; + word-break: break-word; + word-wrap: break-word; + display: table; + width: 100%; + background-color: white; +} +@media screen and (max-width: 640px) { + .site-footer .blog-article-nav { + display: block; + } +} +.site-footer .blog-article-nav .article-nav-full, +.site-footer .blog-article-nav .article-nav-half { + position: relative; + display: table-cell; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 50%; + vertical-align: top; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} +@media screen and (max-width: 640px) { + .site-footer .blog-article-nav .article-nav-full, + .site-footer .blog-article-nav .article-nav-half { + display: block; + width: 100%; + } +} +.site-footer .blog-article-nav .article-nav-full:hover, +.site-footer .blog-article-nav .article-nav-half:hover { + -webkit-transition: 500ms; + -o-transition: 500ms; + transition: 500ms; +} +.site-footer .blog-article-nav .article-nav-full:hover .article-nav-title, +.site-footer .blog-article-nav .article-nav-half:hover .article-nav-title { + opacity: 1; +} +.site-footer .blog-article-nav .article-nav-full:hover .article-nav-direction, +.site-footer .blog-article-nav .article-nav-half:hover .article-nav-direction { + opacity: .7; +} +.site-footer .blog-article-nav .article-nav-full a, +.site-footer .blog-article-nav .article-nav-half a { + display: block; + height: 100%; + padding: 55px 50px; +} +@media screen and (max-width: 640px) { + .site-footer .blog-article-nav .article-nav-full a, + .site-footer .blog-article-nav .article-nav-half a { + padding: 30px 20px; + text-align: center; + } +} +.site-footer .blog-article-nav .article-nav-full { + display: block; + width: 100%; +} +.site-footer .blog-article-nav .article-nav-full a { + text-align: center; +} +.site-footer .blog-article-nav .article-nav-prev { + text-align: right; +} +.site-footer .blog-article-nav .article-nav-next { + border-left: 1px solid rgba(0, 0, 0, 0.1); +} +@media screen and (max-width: 640px) { + .site-footer .blog-article-nav .article-nav-next { + margin-left: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); + border-left: 0; + } +} +.site-footer .blog-article-nav .article-nav-inner { + display: inline-block; + width: 100%; + max-width: 400px; +} +.site-footer .blog-article-nav .article-nav-direction { + margin-bottom: 3px; + font-size: 12px; + font-weight: 400; + line-height: 2; + color: black; + opacity: .35; + letter-spacing: 1px; + text-transform: uppercase; +} +.site-footer .blog-article-nav .article-nav-title { + font-size: 20px; + line-height: 30px; + color: black; + opacity: .7; +} +.site-footer .blog-article-nav .article-nav-bg { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: -1; +} +.site-footer .blog-article-nav.dark-background .article-nav-full, +.site-footer .blog-article-nav.dark-background .article-nav-half { + border-top: 1px solid rgba(255, 255, 255, 0.1); +} +.site-footer .blog-article-nav.dark-background .article-nav-title { + color: rgba(255, 255, 255, 0.7); +} +.site-footer .blog-article-nav.dark-background .article-nav-direction { + color: rgba(255, 255, 255, 0.35); +} +.site-footer .blog-article-nav.dark-background .article-nav-next { + border-left: 1px solid rgba(255, 255, 255, 0.1); +} +@media screen and (max-width: 640px) { + .site-footer .blog-article-nav.dark-background .article-nav-next { + border-top: 1px solid rgba(255, 255, 255, 0.1); + } +} +@media screen and (max-width: 640px) { + .comments-open .site-footer { + display: none; + } +} +.site-footer .footer-body { + position: relative; +} + +.signout-btn-wrap { + position: fixed; + right: 5px; + bottom: 5px; + z-index: 10000; + white-space: nowrap; + background-color: #eeeeee; + height: 35px; + border-radius: 3px; + text-align: center; + -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.5); + box-shadow: 0 1px 6px rgba(0, 0, 0, 0.5); +} +.signout-btn-wrap:hover { + background-color: #c4c4c4; +} +.signout-btn-wrap .signout-link { + position: relative; + z-index: 10; + display: block; + padding: 0 10px; +} +.signout-btn-wrap .signout-name { + display: inline-block; + vertical-align: top; + font-size: 14px; + font-weight: 400; + font-family: "Avenir Next", "AvenirX"; + line-height: 37px; + padding-left: 8px; + color: rgba(27, 33, 36, 0.8); +} +.signout-btn-wrap .signout-name:hover { + color: rgba(27, 33, 36, 0.9); +} +.signout-btn-wrap .signout-ico { + height: 35px; + display: inline-block; + color: rgba(27, 33, 36, 0.7); +} +.signout-btn-wrap .signout-svg { + margin-top: 3px; +} + +.content-area { + -webkit-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; + word-break: break-word; + word-wrap: break-word; + color: rgba(0, 0, 0, 0.7); + font-size: 18px; + line-height: 1.7; +} +.content-area:empty { + display: none; +} +.dark-background .content-area { + color: white; +} +.site-footer .dark-background .content-area { + color: white; +} +.site-footer .content-area { + text-align: center; + font-size: 14px; + color: rgba(0, 0, 0, 0.7); +} +.content-area.footer-left { + font-size: 20px; +} +.content-area.footer-right { + font-size: 16px; +} +.content-area h1:first-child, +.content-area h2:first-child, +.content-area h3:first-child, +.content-area h4:first-child, +.content-area h5:first-child, +.content-area h6:first-child, +.content-area p:first-child, +.content-area ul:first-child, +.content-area ol:first-child, +.content-area dl:first-child, +.content-area table:first-child, +.content-area pre:first-child, +.content-area code:first-child, +.content-area iframe:first-child, +.content-area table:first-child, +.content-area form:first-child, +.content-area .table-container:first-child, +.content-area .edy-positionable-container-left-block:first-child, +.content-area .edy-positionable-container-center-block:first-child, +.content-area .edy-positionable-container-right-block:first-child, +.content-area .edy-texteditor-container-wrapper-left-block:first-child, +.content-area .edy-texteditor-container-wrapper-center:first-child, +.content-area .edy-texteditor-container-wrapper-right-block:first-child, +.content-area .edy-positionable-container-maxwidth:first-child { + margin-top: 0; +} +.content-area h1:last-child, +.content-area h2:last-child, +.content-area h3:last-child, +.content-area h4:last-child, +.content-area h5:last-child, +.content-area h6:last-child, +.content-area p:last-child, +.content-area ul:last-child, +.content-area ol:last-child, +.content-area dl:last-child, +.content-area table:last-child, +.content-area pre:last-child, +.content-area code:last-child, +.content-area iframe:last-child, +.content-area table:last-child, +.content-area form:last-child, +.content-area .table-container:last-child, +.content-area .edy-positionable-container-left-block:last-child, +.content-area .edy-positionable-container-center-block:last-child, +.content-area .edy-positionable-container-right-block:last-child, +.content-area .edy-texteditor-container-wrapper-left-block:last-child, +.content-area .edy-texteditor-container-wrapper-center:last-child, +.content-area .edy-texteditor-container-wrapper-right-block:last-child, +.content-area .edy-positionable-container-maxwidth:last-child { + margin-bottom: 0; +} +.dark-background .content-area h1, +.dark-background .content-area h2, +.dark-background .content-area h3, +.dark-background .content-area h4, +.dark-background .content-area h5, +.dark-background .content-area h6, +.dark-background .content-area p, +.dark-background .content-area ul, +.dark-background .content-area ol, +.dark-background .content-area pre, +.dark-background .content-area code, +.dark-background .content-area table { + color: white; +} +.footer-inner.dark-background .content-area h1, .footer-inner.dark-background .content-area h2, .footer-inner.dark-background .content-area h3, .footer-inner.dark-background .content-area h4, .footer-inner.dark-background .content-area h5, .footer-inner.dark-background .content-area h6, .footer-inner.dark-background .content-area p, .footer-inner.dark-background .content-area ul, .footer-inner.dark-background .content-area ol, .footer-inner.dark-background .content-area pre, .footer-inner.dark-background .content-area code, .footer-inner.dark-background .content-area table { + color: rgba(255, 255, 255, 0.5); +} +.content-area h1, +.content-area h2, +.content-area h3, +.content-area h4, +.content-area h5, +.content-area h6 { + font-weight: 300; + color: black; + line-height: 1.4; +} +.content-area h1 a, +.content-area h2 a, +.content-area h3 a, +.content-area h4 a, +.content-area h5 a, +.content-area h6 a { + color: black; + text-decoration: none; +} +.site-header .content-area h1:first-child, +.site-header .content-area h2:first-child { + margin-top: 0; +} +.site-header .content-area h1:last-child, +.site-header .content-area h2:last-child { + margin-bottom: 0; +} +.content-area h1 { + font-size: 32px; +} +@media screen and (max-width: 640px) { + .content-area h1 { + font-size: 28px; + } +} +.site-header .content-area h1 { + margin-top: .3em; + margin-bottom: .3em; + text-transform: uppercase; + font-size: 70px; + font-weight: 700; + line-height: 1.1; +} +.site-header .content-area h1.blog-title, .site-header .content-area h1.blog-title a { + margin-top: .3em; + margin-bottom: .3em; + font-size: 70px; + font-style: normal; + font-weight: 700; + line-height: 1.1; + text-align: center; + text-decoration: none; + text-transform: uppercase; +} +@media screen and (max-width: 640px) { + .site-header .content-area h1 { + font-size: 32px; + } +} +.content-area h1.article-title { + font-style: normal; + text-decoration: none; +} +.blog-article-page .content-area h1.article-title { + text-align: center; +} +.content-area h2 { + font-size: 26px; + line-height: 1.4; +} +@media screen and (max-width: 640px) { + .content-area h2 { + font-size: 24px; + } +} +.site-header .content-area h2 { + margin-top: .2em; + margin-bottom: .2em; +} +.contacts .content-area h2 { + font-size: 28px; +} +.content-area h3, .content-area h4, .content-area h5, .content-area h6 { + font-size: 22px; +} +.contacts .content-area h3, +.contacts .content-area h4, +.contacts .content-area h5, +.contacts .content-area h6 { + font-weight: 400; + font-size: 24px; +} +.content-area p, .content-area ul, .content-area ol, .content-area dl { + font-size: 18px; +} +.site-footer .content-area p, +.site-footer .content-area ul, +.site-footer .content-area ol, +.site-footer .content-area dl { + font-size: 14px; + color: rgba(0, 0, 0, 0.7); +} +.site-footer .dark-background .content-area p, .site-footer .dark-background .content-area ul, .site-footer .dark-background .content-area ol, .site-footer .dark-background .content-area dl { + color: white; +} +.content-area ul, +.content-area ol, +.content-area dl { + text-align: left; +} +.content-area ul li, +.content-area ol li, +.content-area dl li { + margin-top: 10px; +} +.content-area ul { + list-style-type: none; +} +.content-area ul li { + position: relative; +} +.content-area ul li:before { + position: absolute; + top: 0.2em; + left: -15px; + display: inline-block; + vertical-align: middle; + font-size: 1em; + font-weight: 700; + line-height: inherit; + content: '°'; +} +.content-area a { + color: black; + text-decoration: underline; +} +.content-area a:hover { + text-decoration: none; +} +.dark-background .content-area a { + color: white; +} +.content-area b, +.content-area strong { + font-weight: 400; + color: black; +} +.content-area pre, +.content-area code, +.content-area iframe, +.content-area table, +.content-area form { + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + word-break: normal; + word-wrap: normal; +} +.content-area pre, +.content-area .edy-positionable-container-left-block, +.content-area .edy-positionable-container-right-block, +.content-area .edy-positionable-container-center-block, +.content-area .embed-container, +.content-area .table-container, .editmode .content-area table { + margin-top: 30px; + margin-bottom: 30px; +} +.content-area pre, +.content-area code { + font-size: 14px; + background-color: rgba(0, 0, 0, 0.1); +} +.content-area pre { + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 10px; +} +.content-area pre code { + display: inline; + padding: 0; + white-space: pre; + line-height: inherit; + background-color: transparent; + overflow-wrap: normal; + word-wrap: normal; + word-break: normal; +} +.content-area code { + display: inline-block; + padding: 5px; + overflow-wrap: break-word; + word-wrap: break-word; + word-break: break-all; +} +.content-area blockquote { + margin: 20px 40px 20px 0; + padding-left: 20px; + border-left: 2px solid; +} +.content-area iframe { + max-width: 100%; +} +.map .content-area iframe { + margin-top: 0; +} +.content-area .custom-btn { + display: inline-block; + background-color: transparent; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 12px 30px 13px; + text-transform: uppercase; + font-size: 16px; + font-weight: 400; + line-height: 1.7; + text-align: center; + -webkit-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; + word-break: break-word; + word-wrap: break-word; + text-decoration: none; +} +.publicmode .content-area .custom-btn { + cursor: pointer; +} +.site-header .content-area .custom-btn { + margin-top: 30px; + margin-bottom: 30px; +} +.site-header .content-area .custom-btn:first-child { + margin-top: 0; +} +.site-header .content-area .custom-btn:last-child { + margin-bottom: 0; +} +.dark-background .content-area .custom-btn { + border: 2px solid white; + color: white; +} +.light-background .content-area .custom-btn { + border: 2px solid #222222; + color: #222222; +} +.publicmode .dark-background .content-area .custom-btn-disabled, .publicmode .dark-background .content-area .custom-btn-disabled:hover, .publicmode .light-background .content-area .custom-btn-disabled, .publicmode .light-background .content-area .custom-btn-disabled:hover { + color: #999; + cursor: default; + border: 2px solid #999; +} +.publicmode .dark-background .content-area .custom-btn-disabled:hover, .publicmode .light-background .content-area .custom-btn-disabled:hover { + background-color: transparent; +} +.content-area .custom-btn:hover { + -webkit-transition: 500ms; + -o-transition: 500ms; + transition: 500ms; +} +.dark-background .content-area .custom-btn:hover { + border: 2px solid white; + background-color: white; + color: rgba(0, 0, 0, 0.7); +} +.light-background .content-area .custom-btn:hover { + border: 2px solid #222222; + background-color: #222222; + color: white; +} +.content-area .contacts::first-line { + color: red !important; +} +.content-area .edy-positionable-container-left { + margin-right: 3%; +} +.content-area .edy-positionable-container-right { + margin-left: 3%; +} +.content-area .edy-image-container-with-title:after { + display: block; + padding: 4px; + font-size: 13px; + line-height: 1.4em; + content: attr(data-title); +} +.content-area .table-container { + border-right: 1px solid rgba(0, 0, 0, 0.1); + border-left: 1px solid rgba(0, 0, 0, 0.1); +} +.content .content-area .table-container { + margin-bottom: 35px; +} +.content-area .overthrow { + overflow: auto; + -webkit-overflow-scrolling: touch; +} +.contacts .content-area .overthrow { + -webkit-overflow-scrolling: none; +} +.content-area form { + margin: 20px 0; +} +.content-area form:first-child { + margin-top: 0; +} +.content-area table { + width: 100%; + margin: 0 auto; + font-size: 16px; + border-collapse: collapse; + border-spacing: 0; +} +.editmode .content .content-area table { + margin-bottom: 35px; +} +.contacts .content-area table, .editmode .contacts .content-area table { + margin-bottom: 0; +} +.content-area table th, .content-area table td { + padding: 9px 13px; +} +.dark-background .content-area table th, +.dark-background .content-area table td { + border-color: white; + border-style: solid; + border-width: 1px; +} +.content-area table th { + text-align: left; + font-weight: 400; + color: white; + background-color: black; + border-color: black; + border-style: solid; + border-width: 1px; +} +.footer .content-area table th { + color: rgba(255, 255, 255, 0.5); +} +.content-area table td { + border-color: rgba(0, 0, 0, 0.1); + border-style: solid; + border-width: 1px; +} +.dark-background .content-area table td { + border-color: rgba(255, 255, 255, 0.1); + border-style: solid; + border-width: 1px; +} +.contacts .content-area table, .footer .content-area table { + width: auto; + border: none; +} +.contacts .content-area table tr td, .footer .content-area table tr td { + background: none; +} +.contacts .content-area table tr td:first-child, .footer .content-area table tr td:first-child { + padding-left: 0; + border-left: none; +} +.contacts .content-area table tr td:last-child, .footer .content-area table tr td:last-child { + padding-right: 0; +} +.contacts .content-area table { + font-size: 24px; + line-height: 1em; +} +.contacts .content-area table tr td { + padding: 0 25px; + color: rgba(0, 0, 0, 0.7); + border-top: none; + border-left: 2px solid rgba(0, 0, 0, 0.2); + border-right: none; + border-bottom: none; +} +@media screen and (max-width: 984px) { + .contacts .content-area table { + font-size: 20px; + } +} +@media screen and (max-width: 850px) { + .contacts .content-area table { + font-size: 16px; + } +} +.footer .content-area table tr td { + padding: 0 12px; + border: none; +} +.footer .content-area table tr td:last-child { + padding-right: 0; +} +@media screen and (max-width: 522px) { + .contacts .content-area table, .contacts .content-area table tbody, .contacts .content-area table tr, .footer .content-area table, .footer .content-area table tbody, .footer .content-area table tr { + display: block; + } + .contacts .content-area table tr td, .footer .content-area table tr td { + width: 100%; + float: left; + padding: 0; + -webkit-box-sizing: border-box; + box-sizing: border-box; + } + .contacts .content-area table { + line-height: inherit; + } + .contacts .content-area table tr td { + border-left: none; + border-bottom: 2px solid rgba(0, 0, 0, 0.2); + } +} + +.content-area form, +.content-area .form { + clear: both; + font-size: 14px; +} +.content-area .form_field { + padding-top: 8px; + padding-bottom: 8px; +} +.content-area .form_field:first-child { + padding-top: 0; +} +.content-area .form_field:last-child { + padding-bottom: 0; +} +.content-area .form_field label, +.content-area .form_field .edy-fe-label { + font-size: 16px; + position: relative; + display: block; + margin-bottom: 5px; +} +.content-area .form_field_required .form_field_label:after { + content: '* \a'; +} +.dark-background .content-area .form_field_textfield, +.dark-background .content-area .form_field_textarea, +.dark-background .content-area .form_field_select, +.dark-background .content-area .form_field_radio + .form_control_indicator, +.dark-background .content-area .form_field_checkbox + .form_control_indicator { + background-color: rgba(255, 255, 255, 0.1); +} +.light-background .content-area .form_field_textfield, .light-background .content-area .form_field_textarea, .light-background .content-area .form_field_select, .light-background .content-area .form_field_radio + .form_control_indicator, .light-background .content-area .form_field_checkbox + .form_control_indicator { + background-color: rgba(0, 0, 0, 0.03); +} +.content-area .form_field_textfield, .content-area .form_field_textarea, .content-area .form_field_select { + font-size: 16px; + font-weight: 300; + line-height: 26px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + max-width: 100%; + padding: 8px 13px; + vertical-align: bottom; + border-width: 1px; + border-style: solid; + outline: none; +} +.content-area .form_field_textfield::-webkit-input-placeholder, +.content-area .form_field_textarea::-webkit-input-placeholder, +.content-area .form_field_select::-webkit-input-placeholder { + color: black; + opacity: .35; +} +.content-area .form_field_textfield:-ms-input-placeholder, +.content-area .form_field_textarea:-ms-input-placeholder, +.content-area .form_field_select:-ms-input-placeholder { + color: black; + opacity: .35; +} +.content-area .form_field_textfield::-ms-input-placeholder, +.content-area .form_field_textarea::-ms-input-placeholder, +.content-area .form_field_select::-ms-input-placeholder { + color: black; + opacity: .35; +} +.content-area .form_field_textfield::placeholder, +.content-area .form_field_textarea::placeholder, +.content-area .form_field_select::placeholder { + color: black; + opacity: .35; +} +.dark-background .content-area .form_field_textfield, +.dark-background .content-area .form_field_textarea, +.dark-background .content-area .form_field_select { + color: white; + border-color: rgba(255, 255, 255, 0.3); +} +.light-background .content-area .form_field_textfield, .light-background .content-area .form_field_textarea, .light-background .content-area .form_field_select { + color: rgba(0, 0, 0, 0.7); + border-color: rgba(0, 0, 0, 0.13); +} +.dark-background .content-area .form_field_textfield:focus, .dark-background .content-area .form_field_textarea:focus, .dark-background .content-area .form_field_select:focus { + border-color: white; +} +.light-background .content-area .form_field_textfield:focus, .light-background .content-area .form_field_textarea:focus, .light-background .content-area .form_field_select:focus { + border-color: rgba(0, 0, 0, 0.35); +} +.content-area .form_field_textfield.form_field_size_small, .content-area .form_field_textarea.form_field_size_small, .content-area .form_field_select.form_field_size_small { + width: 280px; +} +.content-area .form_field_textfield.form_field_size_medium, .content-area .form_field_textarea.form_field_size_medium, .content-area .form_field_select.form_field_size_medium { + width: 420px; +} +.content-area .form_field_textfield.form_field_size_large, .content-area .form_field_textarea.form_field_size_large, .content-area .form_field_select.form_field_size_large { + width: 100%; +} +.content-area .form_field_select { + position: relative; + padding-right: 27px; + background-repeat: no-repeat; + background-position: right 10px center; + -moz-appearance: none; + -ms-appearance: none; +} +.dark-background .content-area .form_field_select { + background-image: url("../assets/ico-arrow-white.svg"); +} +.light-background .content-area .form_field_select { + background-image: url("../assets/ico-arrow.svg"); +} +.content-area .form_field_select::-ms-expand { + display: none; +} +.content-area .form_field_select:after { + position: absolute; + top: 0; + right: 15px; + bottom: 0; + display: block; + width: 0; + height: 0; + margin: auto 0; + content: ''; + border-top: 5px solid #cccccc; + border-right: 5px solid transparent; + border-left: 5px solid transparent; +} +.content-area .form_field_select.form_field_size_small { + min-width: auto; +} +.content-area .form_field_select.form_field_size_medium { + min-width: 124px; +} +.content-area .form_field_select.form_field_size_large { + min-width: 184px; +} +.svg .content-area .form_field_radio, +.svg .content-area .form_field_checkbox { + display: none; +} +.svg .content-area .form_field_radio + .form_control_indicator, +.svg .content-area .form_field_checkbox + .form_control_indicator { + height: 18px; + width: 18px; + position: relative; + display: inline-block; + margin-right: 10px; + vertical-align: middle; + border-width: 1px; + border-style: solid; + border-color: rgba(0, 0, 0, 0.2); +} +.svg .dark-background .content-area .form_field_radio + .form_control_indicator, .svg .dark-background .content-area .form_field_checkbox + .form_control_indicator { + border-color: rgba(255, 255, 255, 0.2); +} +.svg .content-area .form_field_radio + .form_control_indicator { + top: -1px; + border-radius: 100%; +} +.svg .content-area .form_field_radio + .form_control_indicator:before { + height: 12px; + width: 12px; + -webkit-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); + -webkit-transition: -webkit-transform .15s ease; + transition: -webkit-transform .15s ease; + -o-transition: transform .15s ease; + transition: transform .15s ease; + transition: transform .15s ease, -webkit-transform .15s ease; + position: absolute; + top: 3px; + left: 3px; + content: ''; + border-radius: 100%; + background-color: rgba(0, 0, 0, 0.4); +} +.svg .content-area .form_field_radio:checked + .form_control_indicator:before { + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + -webkit-transition: -webkit-transform .15s ease; + transition: -webkit-transform .15s ease; + -o-transition: transform .15s ease; + transition: transform .15s ease; + transition: transform .15s ease, -webkit-transform .15s ease; +} +.svg .dark-background .content-area .form_field_radio:checked + .form_control_indicator:before { + background-color: rgba(255, 255, 255, 0.4); +} +.svg .content-area .form_field_checkbox + .form_control_indicator { + top: -2px; +} +.svg .content-area .form_field_checkbox + .form_control_indicator:before { + -webkit-transform: scale(0) rotate(45deg); + -ms-transform: scale(0) rotate(45deg); + transform: scale(0) rotate(45deg); + display: block; + width: 5px; + height: 10px; + margin: 1px 0 0 6px; + content: ''; + -webkit-transition: -webkit-transform .15s ease 0s; + transition: -webkit-transform .15s ease 0s; + -o-transition: transform .15s ease 0s; + transition: transform .15s ease 0s; + transition: transform .15s ease 0s, -webkit-transform .15s ease 0s; + border-width: 0 2px 2px 0; + border-style: none solid solid none; + border-color: rgba(0, 0, 0, 0.4); +} +.svg .content-area .form_field_checkbox:checked + .form_control_indicator:before { + -webkit-transform: scale(1) rotate(45deg); + -ms-transform: scale(1) rotate(45deg); + transform: scale(1) rotate(45deg); + -webkit-transition: -webkit-transform .15s ease; + transition: -webkit-transform .15s ease; + -o-transition: transform .15s ease; + transition: transform .15s ease; + transition: transform .15s ease, -webkit-transform .15s ease; +} +.svg .dark-background .content-area .form_field_checkbox + .form_control_indicator:before { + border-color: rgba(255, 255, 255, 0.2); +} +.content-area .form_submit { + margin-top: 16px; +} +.content-area .form_submit input { + -webkit-appearance: none; + border-radius: 0; + font-family: "Roboto", sans-serif; + font-size: 14px; + font-weight: 400; + line-height: 2; + padding: 10px 20px; + cursor: pointer; + text-transform: uppercase; + border: none; +} +.content-area .form_submit input:hover { + opacity: .7; +} +.dark-background .content-area .form_submit input { + color: black; + background-color: white; +} +.light-background .content-area .form_submit input { + color: white; + background-color: black; +} +@media screen and (min-width: 850px) { + .content-half .content-area .form_submit input { + width: 100%; + } +} +@media screen and (max-width: 640px) { + .content-half .content-area .form_submit input { + width: 100%; + } +} +.content-area .form_submit input:hover { + -webkit-transition: 500ms; + -o-transition: 500ms; + transition: 500ms; +} +.content-area .form_submit input:focus { + outline: none; +} +.content-area .article-comments .form_submit input { + width: 100%; +} +.content-area .form_error, +.content-area .form_notice { + font-size: 22px; + font-weight: 300; +} +.content-area .form_error, +.content-area .form_field_error { + color: red; +} +.content-area .form_error { + margin-bottom: 20px; + color: red; +} +.content-area .form_field_with_errors .form_field_textfield, +.content-area .form_field_with_errors .form_field_textarea { + border: 1px solid red; +} +.content-area .form_field_error { + font-size: 14px; +} +.content-area .form_notice { + margin-bottom: 20px; + color: rgba(14, 203, 0, 0.7); +} + +.content-area .edy-buy-button-container .form_field { + padding-top: 12px; +} +.content-area .edy-buy-button-variants .form_field { + padding-top: 6px; + padding-bottom: 6px; +} +.content-area .edy-buy-button-variants .form_field_select { + width: initial; +} diff --git a/stylesheets/main.min.css b/stylesheets/main.min.css new file mode 100644 index 0000000..3557095 --- /dev/null +++ b/stylesheets/main.min.css @@ -0,0 +1 @@ +@charset "UTF-8";@media screen and (max-width:640px){html.comments-open,html.search-open{height:100%;overflow:hidden}}body{margin:0;font-family:Roboto,sans-serif;font-size:18px;font-weight:300;line-height:1;overflow-x:hidden;-webkit-text-size-adjust:100%}@media screen and (max-width:640px){.comments-open body,.search-open body{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden}}@media screen and (max-width:640px){.mobilemenu-open body{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden}}a{color:inherit;text-decoration:none}a img{border-style:none}.svg-spritesheet{display:none}.voog-bg-picker-btn{top:0;left:10px;padding:0;border-style:none;opacity:.9}.voog-bg-picker-btn::-moz-focus-inner{padding:0;border:none}.voog-bg-picker-btn.is-hidden{display:none}.header-bottom .voog-bg-picker-btn{top:70px}.header-top-with-bg .header-bottom .voog-bg-picker-btn{top:145px}@media screen and (max-width:1024px){.header-top-with-bg .header-bottom .voog-bg-picker-btn{top:120px}}@media screen and (max-width:640px){.header-top-with-bg .header-bottom .voog-bg-picker-btn{top:70px}}.blog-article-page .header-bottom .voog-bg-picker-btn{top:113px}.header-bottom .voog-bg-picker-btn:hover{opacity:1}.btn{display:none}.btn::-moz-focus-inner{padding:0;border:0}.btn.edy-bgpicker-toggle-button{display:block}.site-container{margin:0 auto;position:relative;-webkit-perspective:1000px;perspective:1000px;-webkit-transition:-webkit-transform .5s;transition:-webkit-transform .5s;-o-transition:transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s}.site-container:after{position:absolute;top:0;right:0;width:0;height:0;background:rgba(0,0,0,.2);content:'';opacity:0;-webkit-transition:opacity .5s,width .1s .5s,height .1s .5s;-o-transition:opacity .5s,width .1s .5s,height .1s .5s;transition:opacity .5s,width .1s .5s,height .1s .5s}.flexbox .site-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100vh}.editmode.flexbox .site-container{min-height:calc(100vh - 40px)}@media screen and (max-width:1024px){.mobilemenu-open .site-container{-webkit-transform:translate3d(-250px,0,0);transform:translate3d(-250px,0,0)}}.mobilemenu-open .site-container:after{width:100%;height:100%;opacity:1;-webkit-transition:opacity .5s;-o-transition:opacity .5s;transition:opacity .5s}.blog-article-page .site-container{overflow:hidden}.comments-open .site-container{overflow:visible}.page-body{position:relative}.flexbox .page-body{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.page-content{display:block;position:relative;max-width:100vw}.background-color,.background-image{position:absolute}.background-image{z-index:-2;background-position:center;background-size:cover}.background-color{z-index:-1}.wrap{margin:0 auto}.header-top .wrap{max-width:100%}.inner{margin:0 auto;padding:50px 40px 60px}.inner:empty{display:none}.inner.has-bottom-content{padding-bottom:30px}.inner.no-bottom-padding{padding-bottom:0}.front-page .main-content .inner{padding:70px 40px 0}@media screen and (max-width:640px){.front-page .main-content .inner{padding:40px 20px 0}}@media screen and (max-width:640px){.item-list-page.sidebar-inactive .inner{padding-right:20px;padding-left:20px}}@media screen and (min-width:641px){.item-list-page.sidebar-inactive .inner{padding-right:40px;padding-left:40px}}@media screen and (max-width:640px){.item-list-page.sidebar-active .inner{padding-right:20px;padding-left:20px}}@media screen and (min-width:641px){.item-list-page.sidebar-active .inner{padding-right:40px}}@media screen and (min-width:641px) and (max-width:1024px){.item-list-page.sidebar-active .inner{padding-left:40px}}@media screen and (min-width:1025px){.item-list-page.sidebar-active .inner{padding-left:0}}@media screen and (max-width:640px){.item-page.sidebar-inactive .inner{padding-right:20px;padding-left:20px}}@media screen and (min-width:641px){.item-page.sidebar-inactive .inner{padding-right:40px;padding-left:40px}}@media screen and (max-width:640px){.item-page.sidebar-active .inner{padding-right:20px;padding-left:20px}}@media screen and (min-width:641px){.item-page.sidebar-active .inner{padding-right:40px}}@media screen and (min-width:641px) and (max-width:1024px){.item-page.sidebar-active .inner{padding-left:40px}}@media screen and (min-width:1025px){.item-page.sidebar-active .inner{padding-left:0}}@media screen and (max-width:640px){.inner{padding:30px 20px 40px}}.dark-background{color:#fff}.dark-background h1,.dark-background h2,.dark-background h3,.dark-background h4,.dark-background p,.dark-background pre{color:#fff}.site-footer .dark-background{color:rgba(255,255,255,.7)}.site-footer .dark-background a,.site-footer .dark-background b{color:#fff}.dark-background .header-title a{color:#fff}.dark-background .menu li a{color:#fff;opacity:.7}.dark-background .menu li a:hover{opacity:1}.dark-background .menu li.selected a{opacity:1}.dark-background .lang-title{color:#fff}.dark-background .lang-menu.menu-language-list .lang-title a{color:#fff}.dark-background .voog-reference svg path{fill:#fff}.dark-background .site-options .search-btn svg path{fill:#fff}@media screen and (max-width:640px){.search-open .dark-background .site-options .search-btn svg path{fill:rgba(0,0,0,.7)}}.light-background{color:#000}.light-background h1,.light-background h2,.light-background h3,.light-background h4{color:#000}.site-header .light-background a{color:#000}.site-header .light-background .header-title a{color:#000}.site-header .light-background .menu li a{color:rgba(0,0,0,.7)}.site-header .light-background .menu li a:hover{color:#000}.site-header .light-background .menu li a.untranslated{color:rgba(199,9,9,.7)}.site-header .light-background .menu li a.untranslated:hover{color:#c70909}.site-header .light-background .menu li.selected a{color:#000}.site-footer .light-background{color:rgba(0,0,0,.7)}.light-background .lang-title{color:#000}.table-holder{overflow:auto;-webkit-overflow-scrolling:touch;max-width:100%}@-webkit-keyframes rotation{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes rotation{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.loader{position:absolute;top:50%;left:50%;z-index:999;width:20px;height:20px;border-radius:100%;opacity:0;-webkit-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s}.loader::before{position:absolute;display:block;width:100%;height:100%;content:'';-webkit-box-sizing:content-box;box-sizing:content-box}.is-loaded .loader,.not-loaded .loader{margin-top:calc((20px / 2) * -1);margin-left:calc((20px / 2) * -1);border:1px solid transparent;-webkit-animation:rotation .7s infinite linear;animation:rotation .7s infinite linear}.is-loaded .loader::before,.not-loaded .loader::before{border-top:1px solid #000;border-right:1px solid transparent;border-bottom:1px solid transparent;border-left:1px solid transparent;border-radius:100%}.not-loaded .loader{opacity:1}.is-loaded .loader{opacity:0}.with-error .loader{width:30px;height:30px;margin-top:-15px;margin-left:-15px;background-color:rgba(199,9,9,.7);opacity:1}.with-error .loader::after,.with-error .loader::before{position:absolute;top:14px;width:22px;height:2px;background-color:#fff;border-radius:2px;content:''}.with-error .loader::before{left:4px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.with-error .loader::after{right:4px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.blog-news-page .articles-listing:after,.common-page .sidebar-active:after,.contacts .content-area table tr:after,.content-area:after,.footer .content-area table tr:after,.search-form:after,.search:after,.site-footer .blog-article-nav:after,.site-header:after,.wrap:after{display:table;clear:both;content:''}.background-color,.background-image,.stretch{position:absolute;top:0;left:0;right:0;bottom:0}.lang-menu-btn,.mobile-menu-toggler,.search-btn,.search-submit,.toggle-sub-menu{margin:0;padding:0;background-color:transparent;border-style:none;cursor:pointer}.lang-menu-btn:focus,.mobile-menu-toggler:focus,.search-btn:focus,.search-submit:focus,.toggle-sub-menu:focus{outline:0}.lang-menu-btn::-moz-focus-inner,.mobile-menu-toggler::-moz-focus-inner,.search-btn::-moz-focus-inner,.search-submit::-moz-focus-inner,.toggle-sub-menu::-moz-focus-inner{padding:0;border-style:none}.content-area .form_field_select,.content-area .form_field_textarea,.content-area .form_field_textfield,.site-search .search-input{-webkit-appearance:none;border-radius:0}.content-area .form_field_select,.content-area .form_field_textarea,.content-area .form_field_textfield,.site-search .search-input{font-family:inherit;font-size:inherit;line-height:inherit}.wrap{max-width:1040px}.edy-content-element>.form{margin:20px 0}.front-page .page-content .content-header{font-size:50px;font-weight:700;line-height:1}.front-page .page-content .content-slogan{font-size:25px;font-weight:400;line-height:1}.front-page .page-content .content-header{margin-bottom:10px}.front-page .page-content .content-slogan{margin-bottom:80px}.front-page .main-feature{padding-top:70px}@media screen and (max-width:640px){.front-page .main-feature{padding-top:40px}}.front-page .main-feature .wrap{padding:0 40px;font-size:0;text-align:center;max-width:1123px}@media screen and (max-width:640px){.front-page .main-feature .wrap{padding-right:20px;padding-left:20px}}@media screen and (min-width:641px){.front-page .main-feature .feature{display:inline-block;vertical-align:top;width:33.3%}}.editmode .front-page .main-feature .feature:nth-child(3n+1) .aspect-ratio-inner:not(.active),.editmode .front-page .main-feature .feature:nth-child(3n+2) .aspect-ratio-inner:not(.active){border-left-style:dashed}.editmode .front-page .main-feature .feature:nth-child(3n+2) .aspect-ratio-inner:not(.active),.editmode .front-page .main-feature .feature:nth-child(3n+3) .aspect-ratio-inner:not(.active){border-right-style:dashed}.front-page .main-feature .feature:empty{display:none}@media screen and (min-width:640px) and (max-width:1024px){.front-page .main-feature .feature:first-child .feature-content{margin-right:15px;margin-left:0}.front-page .main-feature .feature:nth-child(2) .feature-content{margin-right:15px;margin-left:15px}.front-page .main-feature .feature:last-child .feature-content{margin-right:0;margin-left:15px}}.front-page .main-feature .feature-image{position:relative;margin-bottom:25px}.front-page .main-feature .feature-image:before{display:block;content:'';width:100%;padding-top:66.5413533835%}.front-page .main-feature .feature-image>.aspect-ratio-inner{position:absolute;top:0;right:0;bottom:0;left:0}.front-page .main-feature .feature-image.has-margin{margin-bottom:70px}.front-page .main-feature .feature-image.empty-hidden{display:none}.front-page .main-feature .aspect-ratio-inner{background-size:cover;background-position:center}.front-page .main-feature .aspect-ratio-inner:not(.active){border-width:1px}.editmode .front-page .main-feature .aspect-ratio-inner:not(.active){border-top-style:dashed;border-bottom-style:dashed}@media screen and (max-width:640px){.editmode .front-page .main-feature .aspect-ratio-inner:not(.active){border-right-style:dashed;border-left-style:dashed}}.front-page .main-feature .aspect-ratio-inner.active{border-width:0}.editmode .front-page .main-feature .aspect-ratio-inner{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.front-page .main-feature .edy-img-drop-area .edy-img-drop-area-remove-image{top:5px;right:5px}.front-page .main-feature .edy-img-drop-area-placeholder{font-size:14px}.front-page .main-feature .feature-content{margin:0 30px 70px;font-size:18px}@media screen and (max-width:640px){.front-page .main-feature .feature-content{margin:0 0 40px}}.front-page .main-feature .feature-content:empty{display:none}.front-page .main-feature .content-area{text-align:left;line-height:1.7}.front-page .main-feature .content-area h3{margin-bottom:8px}.front-page .front-page-content-bottom .wrap{height:360px;display:table;table-layout:fixed;width:100%}.front-page .front-page-content-bottom .wrap .inner{display:table-cell;vertical-align:middle;width:100%}.front-page .content-full{position:relative}.front-page .content-full .content-full-inner{position:relative}.common-page .sidebar-active{max-width:1040px;width:100%;margin:0 auto}.common-page .sidebar-active .wrap{margin:0}@media screen and (max-width:1024px){.common-page .sidebar-active .wrap{margin-right:auto;margin-left:auto}}.common-page .sidebar-active .inner{width:auto;margin:0}@media screen and (min-width:1025px){.common-page .sidebar-active .page-content{display:inline-block;vertical-align:top;width:calc(100% - 265px)}}.common-page .main-content .wrap{max-width:780px}.common-page .main-content .content-half{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box}.common-page .main-content .content-half.has-padding{padding-top:50px}@media screen and (max-width:640px){.common-page .main-content .content-half{float:none;width:100%}}@media screen and (min-width:851px){.common-page .main-content .content-left{padding:0 20px 60px 40px}}@media screen and (max-width:640px){.common-page .main-content .content-left{padding:0 20px 20px}}@media screen and (min-width:851px){.common-page .main-content .content-right{padding:0 40px 60px 20px}}@media screen and (max-width:640px){.common-page .main-content .content-right{padding:0 20px 20px}}.blog-news-page .main-content .wrap{max-width:780px}.blog-news-page .blog-intro-content{padding-bottom:50px}.blog-news-page .article-title{font-size:32px;font-weight:300;margin:10px 0 0}@media screen and (max-width:850px){.blog-news-page .article-title{font-size:26px}}.blog-news-page .article-title a{color:#000;text-decoration:none}.blog-news-page .article-content{margin-top:20px}.blog-news-page .blog-article{-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-break:break-word;word-wrap:break-word;position:relative;padding-top:50px}.blog-news-page .blog-article:first-child{padding-top:0}.blog-news-page .blog-article .article-image{position:relative;z-index:1;margin-top:25px;margin-bottom:20px}.blog-news-page .blog-article .article-image:before{display:block;width:100%;padding-top:65.715%;content:''}.blog-news-page .article-author,.blog-news-page .article-date{font-size:14px;color:#000;opacity:.35;font-weight:400;line-height:1;display:inline;letter-spacing:1px;text-transform:uppercase}.dark-background .blog-news-page .article-author,.dark-background .blog-news-page .article-date{color:rgba(255,255,255,.35)}.blog-news-page .article-excerpt{color:rgba(0,0,0,.7);font-size:rem-calc(18px);font-weight:300;line-height:1.7;margin-bottom:20px}.blog-news-page .article-read-more-btn{display:inline-block;text-decoration:underline}.blog-news-page .article-read-more-btn:hover{text-decoration:none}@media screen and (max-width:640px){.blog-news-page .article-header{margin:0}}.blog-news-page .articles-listing{max-width:695px;margin:0 auto}.blog-news-page .articles-listing .articles-listing-header{margin:62px 0 30px}.blog-news-page .articles-listing .articles-listing-title{font-size:22px;text-transform:uppercase}.blog-news-page .articles-listing .blog-article{padding:0}.blog-news-page .articles-listing .blog-article .article-header{margin:0 0 20px}.blog-news-page .articles-listing .blog-article .article-date{font-size:12px;font-size:12px;color:#000;opacity:.35;font-weight:400;line-height:1.7;position:absolute;top:4px;letter-spacing:1px}.blog-news-page .articles-listing .blog-article .article-title{font-size:18px;font-weight:300;line-height:1.4;margin-left:170px}@media screen and (max-width:480px){.blog-news-page .articles-listing{margin:0}.blog-news-page .articles-listing .blog-article .article-date{position:static}.blog-news-page .articles-listing .blog-article .article-title{margin:0}}.blog-news-page .dark-background .article-author,.blog-news-page .dark-background .article-date,.blog-news-page .dark-background .articles-listing .article-date{color:rgba(255,255,255,.35)}.blog-article-page .article-types-toggle{font-size:0;position:absolute;top:85px;left:20px;display:inline-block;overflow:hidden;width:150px;border-radius:5px}.blog-article-page .article-types-toggle .type-btn{font-family:inherit;font-size:16px;line-height:1.3;display:inline-block;float:left;width:75px;padding:5px 5px 3px;cursor:pointer;text-align:center;text-decoration:none;color:#fff;border-style:none;outline:0;background-color:rgba(0,0,0,.5)}.blog-article-page .article-types-toggle .type-btn:hover{background-color:rgba(0,0,0,.7)}.blog-article-page .article-types-toggle .type-btn.is-active{background-color:#000}.blog-article-page.header-top-with-bg .article-types-toggle{top:150px}@media screen and (max-width:1024px){.blog-article-page.header-top-with-bg .article-types-toggle{top:125px}}@media screen and (max-width:640px){.blog-article-page.header-top-with-bg .article-types-toggle{top:80px}}.blog-article-page .article-body,.blog-article-page .article-excerpt{font-size:18px;font-weight:300;line-height:1.7;margin:30px 0 0;color:rgba(0,0,0,.7)}.blog-article-page .article-excerpt{font-weight:400}.blog-article-page .article-excerpt:empty{display:none}.blog-article-page .comments-title{font-size:14px;font-weight:400;line-height:1.7;display:inline-block;cursor:pointer;text-transform:uppercase;color:#000;margin-right:30px}.blog-article-page .comments-title:hover .comments-count,.blog-article-page .comments-title:hover .comments-title-inner{opacity:1}.dark-background .blog-article-page .comments-title{color:#fff}.blog-article-page .comments-title .comments-title-inner{opacity:.35}.blog-article-page .comments-title .comments-count{opacity:.7}.blog-article-page .main-content{-webkit-transition:min-height 250ms;-o-transition:min-height 250ms;transition:min-height 250ms;min-height:0;will-change:min-height}.blog-article-page .main-content .wrap{max-width:780px}.blog-article-page .main-content .article-meta{display:inline-block;margin-right:30px}.blog-article-page .main-content .article-meta.is-hidden{display:none}.blog-article-page .main-content .article-header{margin:10px 0 30px}@media screen and (max-width:480px){.blog-article-page .main-content .article-header.comments-open .blog-article-page .main-content .article-header{display:none}}.blog-article-page .main-content .article-header .article-title{line-height:1.4;margin-bottom:0}.blog-article-page .main-content .article-header a{border-bottom:none}.blog-article-page .main-content .article-author,.blog-article-page .main-content .article-date{font-size:14px;font-weight:400;line-height:1;display:inline;letter-spacing:1px;text-transform:uppercase;color:#000;opacity:.35}.blog-article-page .main-content .article-author.is-hidden,.blog-article-page .main-content .article-date.is-hidden{display:none}.blog-article-page .article-author,.blog-article-page .article-date{opacity:.35}.blog-article-page .dark-background .article-author,.blog-article-page .dark-background .article-date{color:#fff}.blog-article-page.header-top-with-bg .header-bottom .voog-bg-picker-btn{top:180px}@media screen and (max-width:1024px){.blog-article-page.header-top-with-bg .header-bottom .voog-bg-picker-btn{top:155px}}@media screen and (max-width:640px){.blog-article-page.header-top-with-bg .header-bottom .voog-bg-picker-btn{top:115px}}.article-settings-wrap{display:inline-block}.blog-article-page .wrap .hide-article-comments,.blog-news-page .wrap .hide-article-comments{display:none}.blog-article-page .wrap .hide-article-date,.blog-news-page .wrap .hide-article-date{display:none}.blog-article-page .wrap .hide-article-author,.blog-news-page .wrap .hide-article-author{display:none}.article-comments{-webkit-transition:250ms;-o-transition:250ms;transition:250ms;position:absolute;top:0;right:-486px;z-index:1;width:440px;padding:45px 40px;background-color:#fff;-webkit-box-shadow:-10px 19px 30px rgba(68,68,68,.31);box-shadow:-10px 19px 30px rgba(68,68,68,.31);-webkit-box-sizing:border-box;box-sizing:border-box}@media screen and (max-width:640px){.article-comments{display:none;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:0s;-o-transition:0s;transition:0s}}.article-comments.open{-webkit-transition:250ms;-o-transition:250ms;transition:250ms;top:0;right:0;-webkit-box-shadow:0 0 20px rgba(0,0,0,.1);box-shadow:0 0 20px rgba(0,0,0,.1)}@media screen and (max-width:640px){.article-comments.open{display:block;-webkit-transition:0s;-o-transition:0s;transition:0s;width:100%}}.article-comments .comments-body{max-height:100%}@media screen and (max-width:640px){.comments-open .article-comments .comments-body{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;-webkit-overflow-scrolling:touch;-webkit-box-sizing:border-box;box-sizing:border-box;height:100vh;padding:20px;background-color:#fff}}.article-comments .comments-body .comments-header .comments-title{margin-top:0}.article-comments .comments-body .comments-title{margin:20px 0 20px 0;font-size:24px;font-weight:300;line-height:1.7;color:#000;cursor:text;text-transform:none}.article-comments .comments-body .comments-title .comments-count{display:inline-block;font-size:14px;color:#000;opacity:.35;vertical-align:middle}.article-comments .comments-body .form_field_textarea,.article-comments .comments-body .form_field_textfield{padding-top:10px;padding-bottom:10px;background-color:#fff}.article-comments .comment{margin:20px 0 0;color:rgba(0,0,0,.7)}.article-comments .comment:first-child{margin-top:0}.article-comments .comment .comment-body{display:block;font-size:16px;line-height:24px}.article-comments .comment .comment-author,.article-comments .comment .comment-date{font-size:14px;font-weight:300;line-height:2;color:#000;opacity:.35}.article-comments .comments-close.dark-background .btn-close{background-color:#fff}.article-comments .comments-close.dark-background .btn-close .ico-close{fill:#000}.article-comments .comments-close .btn-close{position:absolute;top:0;left:-46px;width:46px;height:46px;line-height:1;cursor:pointer;background-color:#000}@media screen and (max-width:850px){.article-comments .comments-close .btn-close{right:0;left:auto;background-color:#fff}}@media screen and (min-width:851px){.article-comments .comments-close .btn-close:hover{-webkit-transition:.5s;-o-transition:.5s;transition:.5s;opacity:.7}}.article-comments .comments-close .btn-close .ico-close{padding:15px;fill:#fff}@media screen and (max-width:850px){.article-comments .comments-close .btn-close .ico-close{fill:rgba(0,0,0,.7)}.article-comments .comments-close .btn-close .ico-close:hover{-webkit-transition:.5s;-o-transition:.5s;transition:.5s;fill:rgba(0,0,0,.7)}}.blog-tags{margin-bottom:20px}.blog-article .blog-tags{margin-bottom:15px}.blog-tags .tags-toggle{position:relative;display:inline-block;cursor:pointer}.blog-tags .tags-icon{position:absolute;top:-3px;left:0;fill:rgba(0,0,0,.7)}.dark-background .blog-tags .tags-icon{fill:rgba(255,255,255,.7)}.blog-tags .tags-title{padding:0 20px 0 25px;font-weight:400;font-size:14px;text-transform:uppercase}.blog-tags .ico-arrow{position:absolute;right:0;top:3px;width:0;height:0;border-style:solid;border-width:8px 5px 0 5px;border-color:#000 transparent transparent transparent}.blog-tags .ico-arrow.active{border-width:0 5px 8px 5px;border-color:transparent transparent #000 transparent}.dark-background .blog-tags .ico-arrow.active{border-color:#fff transparent transparent transparent}.dark-background .blog-tags .ico-arrow{border-color:transparent transparent #fff transparent}.blog-tags .tags-bottom{display:none;margin-top:15px}.blog-tags .tags-bottom.visible{display:block}.blog-tags .menu{display:inline-block;padding-left:0}.blog-tags .menu .menu-item{display:inline-block;margin-top:5px;vertical-align:top}.blog-tags .menu .menu-item:before{display:none}.blog-tags .menu .menu-link{padding:1px 5px;font-size:12px;color:#a4a4a4;text-decoration:none;border-radius:3px;background-color:rgba(0,0,0,.03)}.blog-tags .menu .menu-link:hover{opacity:.7}.blog-tags .menu .menu-link.active{color:#fff;background-color:#a4a4a4}.dark-background .blog-tags .menu .menu-link{background-color:rgba(255,255,255,.2)}.site-header{position:relative}@media screen and (max-width:850px){.site-header .header-left,.site-header .header-right{float:none}.no-flexbox .site-header .header-left,.no-flexbox .site-header .header-right{display:table-cell;vertical-align:top}.site-header .header-left{-webkit-box-flex:1;-ms-flex:1;flex:1}}@media screen and (max-width:640px){.search-open .site-header{position:static}}.site-header .header-top .wrap{padding-top:40px;padding-right:40px;padding-left:40px}.flexbox .site-header .header-top .wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.header-top-with-bg .site-header .header-top .wrap{padding-bottom:40px}@media screen and (max-width:640px){.header-top-with-bg .site-header .header-top .wrap{padding-bottom:14px}}@media screen and (max-width:640px){.site-header .header-top .wrap{padding-top:20px;padding-right:20px;padding-left:20px}}.site-header .header-top .site-options{display:inline-block;vertical-align:top;height:27px}@media screen and (max-width:1024px){.site-header .header-top .site-options{margin-left:20px}}.site-header .header-title{-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-break:break-word;word-wrap:break-word;font-size:22px;font-weight:300;line-height:1;position:relative;min-width:140px}.site-header .header-title a{text-decoration:none}.site-header .header-title a:hover{opacity:.7}.blog-article-page .site-header .header-body{text-align:center}.site-header .header-left{max-width:100%}.flexbox .site-header .header-left{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.no-flexbox .site-header .header-left{float:left}@media screen and (max-width:640px){.no-flexbox .site-header .header-left{float:none}}.site-header .header-right{position:relative;text-align:right}@media screen and (max-width:1024px){.site-header .header-right{margin-top:1px}}@media screen and (max-width:640px){.search-open .site-header .header-right{position:static}}.no-flexbox .site-header .header-right{float:right}.site-header .header-bottom .header-bottom-inner{display:table;width:100%;max-width:1040px;margin:0 auto;table-layout:fixed;border-collapse:collapse}.blog-article-page .site-header .header-bottom .header-bottom-inner,.blog-news-page .site-header .header-bottom .header-bottom-inner,.common-page .site-header .header-bottom .header-bottom-inner,.item-list-page .site-header .header-bottom .header-bottom-inner{height:253px}@media screen and (max-width:640px){.blog-article-page .site-header .header-bottom .header-bottom-inner,.blog-news-page .site-header .header-bottom .header-bottom-inner,.common-page .site-header .header-bottom .header-bottom-inner,.item-list-page .site-header .header-bottom .header-bottom-inner{height:130px}}.front-page .site-header .header-bottom .header-bottom-inner{height:606px}@media screen and (max-width:640px){.front-page .site-header .header-bottom .header-bottom-inner{height:400px}}.site-header .header-bottom .header-bottom-inner.header-bottom-only .wrap{padding-top:90px}.site-header .header-bottom .header-bottom-inner .wrap{display:table-cell;padding:60px 40px 90px;vertical-align:middle}.header-top-with-bg .site-header .header-bottom .header-bottom-inner .wrap{padding-top:74px;padding-bottom:76px}@media screen and (max-width:640px){.site-header .header-bottom .header-bottom-inner .wrap{padding:40px 20px 60px}.header-top-with-bg .site-header .header-bottom .header-bottom-inner .wrap{padding-top:49px;padding-bottom:51px}}.site-header.photo-article .header-bottom .header-bottom-inner{height:606px}@media screen and (max-width:640px){.site-header.photo-article .header-bottom .header-bottom-inner{height:400px}}.site-header .header-body .article-author,.site-header .header-body .article-date{font-size:14px;font-weight:400;line-height:2;display:inline;letter-spacing:1px;text-transform:uppercase}.site-header .header-body .article-author.is-hidden,.site-header .header-body .article-date.is-hidden{display:none}.site-header .header-body .article-title{font-size:60px;font-weight:300;line-height:1.2;margin:0 0 10px;text-transform:none}.publicmode .site-header .header-body .article-title{cursor:pointer}@media screen and (max-width:640px){.site-header .header-body .article-title{font-size:32px}}.site-header .header-body .article-title a{font-size:1em;text-decoration:none}.site-header .header-body .blog-title{font-weight:700;line-height:1;margin-top:0;text-transform:uppercase}.site-header .header-body .blog-title.is-hidden{display:none}.menu-btn-wrap{display:inline-block;vertical-align:middle;margin-left:30px}.language-menu-mode-list .menu-btn-wrap.menu-language-popover-btn{display:none}@media screen and (max-width:1024px){.menu-btn-wrap{display:none}}.toggle-sub-menu{position:absolute;top:11px;right:-10px;display:block;padding:9px 11px 8px;margin-top:-6px}.no-svg .toggle-sub-menu:before{display:block;width:0;height:0;content:'';border-width:5px 0 5px 8px;border-style:solid;border-color:transparent transparent transparent #000}.svg .toggle-sub-menu{fill:#000;opacity:.2}.no-svg .toggle-sub-menu.active:before{border-width:8px 5px 0;border-color:#000 transparent transparent transparent}.svg .toggle-sub-menu.active{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.no-svg .toggle-sub-menu.highlighted{border-color:#000 transparent transparent transparent}.svg .toggle-sub-menu.highlighted{fill:#000}.menu{-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-break:break-word;word-wrap:break-word;margin-top:0;margin-bottom:0;padding-left:0;list-style-type:none}.menu li{font-weight:300;line-height:1.7}.menu li:last-child{margin-right:0}.menu li.selected{font-weight:500}.menu li.is-hidden{display:none}.menu li a{display:block;border-style:none}.menu li a.untranslated{color:rgba(199,9,9,.7)}.menu li a.untranslated:hover{color:#c70909}.menu-main{display:inline-block;vertical-align:top;text-transform:uppercase}.menu-main li{display:inline-block;margin-left:20px;font-size:16px}.menu-sub li{margin-right:10px}.menu-language-settings{margin-top:0;margin-bottom:0;padding-left:0}.language-menu-mode-popover .menu-language-settings .menu-item-cms{padding-top:5px!important}.language-menu-mode-list .menu-language-settings .menu-item-cms{padding-top:2px!important}.menu-item-list{margin-top:15px}@media screen and (min-width:1025px){.menu-item-list.is-hidden-desktop{display:none}}.item-list-page .menu-item-list{margin-bottom:15px}.common-page .menu-item-list{margin-bottom:18px}.menu-item-list .menu-item{display:inline-block;font-size:14px;opacity:.5}.menu-item-list .menu-item:not(.current):hover{opacity:.8}.menu-item-list .menu-item.selected{font-weight:400}.menu-item-list .menu-item.current{font-weight:500;opacity:1}.menu-item-cms{margin-left:10px}.menu-item-cms.float-right{float:right}.menu-separator{opacity:.5}.menu-separator:first-child{display:none}#mobile-menu{display:none}.mobile-menu-toggler{display:none}@media screen and (max-width:1024px){.site-header .header-right .menu-main{display:none}.mobilemenu-open,.mobilesearch-open{position:fixed;overflow:hidden;top:0;left:0;width:100%;height:100%}.mobilemenu-open #mobile-menu,.mobilesearch-open #mobile-menu{position:absolute;top:0;width:250px;height:100%}.mobile-menu-toggler{position:absolute;top:-12px;right:-12px;display:block;width:45px;height:44px;outline:0}.mobile-menu-toggler span,.mobile-menu-toggler span:after,.mobile-menu-toggler span:before{position:absolute;top:14px;left:12px;display:block;width:21px;height:2px;content:'';background-color:#000}.dark-background .mobile-menu-toggler span,.dark-background .mobile-menu-toggler span:after,.dark-background .mobile-menu-toggler span:before{background-color:#fff}.language-flags-disabled .mobile-menu-toggler span .lang-menu-btn,.language-flags-disabled .mobile-menu-toggler span:after .lang-menu-btn,.language-flags-disabled .mobile-menu-toggler span:before .lang-menu-btn{position:static;width:auto;height:auto;background-color:#c70909}.language-flags-disabled .mobile-menu-toggler span .lang-menu-btn:after,.language-flags-disabled .mobile-menu-toggler span .lang-menu-btn:before,.language-flags-disabled .mobile-menu-toggler span:after .lang-menu-btn:after,.language-flags-disabled .mobile-menu-toggler span:after .lang-menu-btn:before,.language-flags-disabled .mobile-menu-toggler span:before .lang-menu-btn:after,.language-flags-disabled .mobile-menu-toggler span:before .lang-menu-btn:before{display:none}.language-flags-disabled .mobile-menu-toggler span .lang-menu-btn .lang-title,.language-flags-disabled .mobile-menu-toggler span:after .lang-menu-btn .lang-title,.language-flags-disabled .mobile-menu-toggler span:before .lang-menu-btn .lang-title{position:static;color:#fff}.mobile-menu-toggler span:before{top:7px;left:0}.mobile-menu-toggler span:after{top:14px;left:0}#mobile-menu{-webkit-transition:-webkit-transform .5s;transition:-webkit-transform .5s;-o-transition:transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);font-family:Roboto,sans-serif;position:fixed;z-index:1000;top:0;right:0;height:100%;display:block;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;width:250px;padding:30px 20px;background-color:#fff}#mobile-menu.reset-touch{-webkit-overflow-scrolling:touch}}@media screen and (max-width:1024px) and (max-width:640px){#mobile-menu{padding-top:10px}}@media screen and (max-width:1024px){.editmode #mobile-menu{height:calc(100% - 40px)}.mobilemenu-open #mobile-menu{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}#mobile-menu .search-open-btn{-webkit-transition:right .3s;-o-transition:right .3s;transition:right .3s;position:absolute;top:28px;right:78px;width:42px;height:42px;margin-left:0}#mobile-menu .search-open-btn.no-back-btn{right:108px}#mobile-menu .search-open-btn.search-active{display:none}#mobile-menu .search-open-btn svg{fill:#000}#mobile-menu ul{margin:0;padding:0;list-style-type:none}#mobile-menu ul li{position:relative;margin:0}.language-names-disabled #mobile-menu ul li.lang-item{position:relative;left:-5px;display:inline-block}#mobile-menu ul li.is-hidden{display:none}#mobile-menu ul li.edit-btn{margin:10px 0}#mobile-menu ul a{line-height:1.3;padding:10px 0;text-transform:uppercase;color:rgba(0,0,0,.7)}.language-names-enabled #mobile-menu ul a.lang-flag{font-size:16px}.language-names-disabled #mobile-menu ul a.lang-flag{font-size:0;padding:15px 15px 8px 16px;opacity:.7}.language-names-disabled #mobile-menu ul a.lang-flag.is-active,.language-names-disabled #mobile-menu ul a.lang-flag:hover{opacity:1}#mobile-menu ul a.untranslated{color:rgba(199,9,9,.7)}#mobile-menu ul a.untranslated:hover{color:#c70909}#mobile-menu .navigation-menu{word-break:break-all}#mobile-menu .navigation-menu .with-children>a{margin-right:30px}#mobile-menu .navigation-menu ul a{display:block}#mobile-menu .navigation-menu ul a.visible{display:inline-block}#mobile-menu .navigation-menu ul a.selected{font-weight:500;color:#000}#mobile-menu .navigation-menu ul a.indented{margin-left:10px}#mobile-menu .navigation-menu ul.current-menu>li:first-child>a{text-transform:uppercase}#mobile-menu .navigation-menu ul.child-menu li a.edy-cbtn{display:inline!important}#mobile-menu .navigation-menu .option-btn{padding:15px 0}#mobile-menu .sub-menu a{text-transform:initial}#mobile-menu .menu-level-2,#mobile-menu .menu-level-3{display:none;padding-left:10px}#mobile-menu .current-parent>.menu-level-2,#mobile-menu .current-parent>.menu-level-3{display:block}#mobile-menu .lang-menu{display:block;margin-top:20px;margin-left:0}#mobile-menu .lang-menu ul{margin:0;padding:0}#mobile-menu .lang-menu ul li{text-align:left}#mobile-menu .lang-menu ul li a{padding:7px 0 5px;text-align:left}.language-names-enabled #mobile-menu .lang-menu ul li a.lang-flag:after,.language-names-enabled #mobile-menu .lang-menu ul li a.lang-flag:before{top:8px;right:auto;left:0}.language-names-disabled #mobile-menu .lang-menu ul li a.lang-flag:after,.language-names-disabled #mobile-menu .lang-menu ul li a.lang-flag:before{top:5px;left:5px}#mobile-menu .lang-menu ul li a.is-active{font-weight:500;color:#000}.language-flags-enabled #mobile-menu .lang-menu a{padding-left:25px}}.lang-flag:after,.lang-flag:before{position:absolute;top:0;left:0;display:block;width:21px;height:15px;content:''}.language-flags-disabled .lang-flag:after,.language-flags-disabled .lang-flag:before{display:none}.lang-flag:after{background-position:-189px -60px}.lang-flag:before{background-color:#000}.lang-flag:after{padding-top:3px;padding-bottom:3px;font-size:9px;line-height:1;text-align:center;text-transform:uppercase;background-position:0 -75px;background-repeat:no-repeat;content:attr(data-lang-code);opacity:.95;-webkit-box-sizing:border-box;box-sizing:border-box}.no-boxshadow .lang-flag:after{border:1px solid #fff}.svg .lang-flag:after{background-image:url(../assets/ico-flags.svg)}.lang-flag:after .no-svg{background-image:url(../images/ico-flags.png)}.lang-flag-sq:after{background-position:0 0;content:''}.lang-flag-hy:after{background-position:-21px 0;content:''}.lang-flag-bn:after{background-position:-42px 0;content:''}.lang-flag-bg:after{background-position:-84px 0;content:''}.lang-flag-zh:after{background-position:-105px 0;content:''}.lang-flag-hr:after{background-position:-126px 0;content:''}.lang-flag-da:after{background-position:-147px 0;content:''}.lang-flag-cs:after{background-position:-168px 0;content:''}.lang-flag-et:after{background-position:-189px 0;content:''}.lang-flag-fi:after{background-position:0 -15px;content:''}.lang-flag-fr:after{background-position:-21px -15px;content:''}.lang-flag-ka:after{background-position:-42px -15px;content:''}.lang-flag-de:after{background-position:-63px -15px;content:''}.lang-flag-el:after{background-position:-84px -15px;content:''}.lang-flag-hu:after{background-position:-105px -15px;content:''}.lang-flag-is:after{background-position:-126px -15px;content:''}.lang-flag-hi:after{background-position:-147px -15px;content:''}.lang-flag-id:after{background-position:-168px -15px;content:''}.lang-flag-fa:after{background-position:-189px -15px;content:''}.lang-flag-he:after{background-position:0 -30px;content:''}.lang-flag-it:after{background-position:-21px -30px;content:''}.lang-flag-ja:after{background-position:-42px -30px;content:''}.lang-flag-ko:after{background-position:-63px -30px;content:''}.lang-flag-lv:after{background-position:-84px -30px;content:''}.lang-flag-lt:after{background-position:-105px -30px;content:''}.lang-flag-ms:after{background-position:-126px -30px;content:''}.lang-flag-nl:after{background-position:-147px -30px;content:''}.lang-flag-no:after{background-position:-168px -30px;content:''}.lang-flag-ur:after{background-position:-189px -30px;content:''}.lang-flag-fil:after{background-position:0 -45px;content:''}.lang-flag-pl:after{background-position:-21px -45px;content:''}.lang-flag-ro:after{background-position:-42px -45px;content:''}.lang-flag-ru:after{background-position:-63px -45px;content:''}.lang-flag-ar:after{background-position:-84px -45px;content:''}.lang-flag-sk:after{background-position:-105px -45px;content:''}.lang-flag-sl:after{background-position:-126px -45px;content:''}.lang-flag-es:after{background-position:-147px -45px;content:''}.lang-flag-sv:after{background-position:-168px -45px;content:''}.lang-flag-tr:after{background-position:-189px -45px;content:''}.lang-flag-uk:after{background-position:0 -60px;content:''}.lang-flag-en:after{background-position:-21px -60px;content:''}.lang-flag-pt:after{background-position:-84px -60px;content:''}.lang-flag-sr:after{background-position:-126px -60px;content:''}.lang-flag-bn:after{background-position:-147px -60px;content:''}.lang-flag-th:after{background-position:-189px -60px;content:''}.lang-menu{display:inline-block;margin-left:40px;vertical-align:top}@media screen and (max-width:1024px){.lang-menu{display:none}}.language-menu-mode-popover .lang-menu.menu-language-list{display:none}.lang-menu.menu-language-list .lang-title{display:inline-block}.lang-menu.menu-language-list .lang-title a{opacity:.7}.lang-menu.menu-language-list .lang-title a:hover{opacity:1}.lang-menu.menu-language-list .lang-title a.is-active{font-weight:400;opacity:1}.lang-menu.menu-language-list .menu-item-cms{display:inline-block;padding-left:5px}.lang-menu li{line-height:normal;display:block;text-align:right;text-transform:uppercase}.lang-menu li a{font-weight:400;color:rgba(0,0,0,.7)}.lang-menu li.menu-item-cms{padding-right:18px;padding-left:18px}.lang-menu li.menu-item-cms:last-child{padding-top:5px;padding-bottom:10px}.language-menu-mode-list .lang-menu li.menu-item-cms:last-child{padding-right:9px}#mobile-menu .lang-menu li.menu-item-cms:last-child{padding-top:0;padding-left:0}.lang-menu a.lang-flag{position:relative;display:block;text-align:right}.dark-background .lang-menu a.lang-flag,.light-background .lang-menu a.lang-flag{color:rgba(0,0,0,.7)}.dark-background .lang-menu a.lang-flag:hover,.light-background .lang-menu a.lang-flag:hover{color:#000}.language-names-enabled.language-flags-enabled .lang-menu a.lang-flag{padding:5px 40px 5px 13px}.language-menu-mode-popover.language-names-disabled.language-flags-enabled .lang-menu a.lang-flag{padding:15px 32px 14px 13px}.language-menu-mode-list.language-names-disabled.language-flags-enabled .lang-menu a.lang-flag{padding:15px 15px 8px 16px}.lang-menu a.lang-flag:after,.lang-menu a.lang-flag:before{left:12px}.language-menu-mode-popover .lang-menu a.lang-flag:after,.language-menu-mode-popover .lang-menu a.lang-flag:before{top:7px}.language-menu-mode-list.language-names-disabled.language-flags-enabled .lang-menu a.lang-flag:after,.language-menu-mode-list.language-names-disabled.language-flags-enabled .lang-menu a.lang-flag:before{left:5px}.language-menu-mode-list.language-names-disabled.language-flags-enabled .lang-menu a.lang-flag:after,.language-menu-mode-list.language-names-disabled.language-flags-enabled .lang-menu a.lang-flag:before,.language-menu-mode-list.language-names-enabled.language-flags-enabled .lang-menu a.lang-flag:after,.language-menu-mode-list.language-names-enabled.language-flags-enabled .lang-menu a.lang-flag:before{top:5px}.lang-menu a.lang-flag:after,.lang-menu a.lang-flag:before{right:12px;left:auto}.lang-menu a.edy-menu-langadd{padding:5px}.language-flags-disabled .lang-menu a.lang-flag{padding:5px 10px}.language-menu-mode-list.language-flags-disabled .lang-menu .lang-title:last-child a.lang-flag{padding-right:0}.lang-title{text-transform:uppercase;background-color:transparent}.lang-title a{text-transform:uppercase;background-color:transparent}.language-names-enabled .lang-title a{font-size:14px}.language-names-disabled .lang-title a{font-size:0}.lang-menu-btn{font-family:inherit;font-size:14px;position:relative;display:block;margin:0;padding:6px 3px;cursor:pointer;border:none;background:0 0;line-height:1}.language-flags-enabled .lang-menu-btn{width:21px;padding:13px 14px 13px 13px}.language-flags-enabled .lang-menu-btn .lang-title{display:none}.lang-menu-btn.lang-flag:after,.lang-menu-btn.lang-flag:before{top:6px;left:3px}.lang-menu-btn .lang-title-inner{position:relative;padding:5px 12px 5px 5px}.lang-menu-btn .lang-title-inner:after{position:absolute;top:50%;right:0;display:block;margin-top:-3px;width:0;height:0;content:"";border-style:solid;border-width:6px 3px 0 3px;border-color:#000 transparent transparent transparent}.dark-background .lang-menu-btn .lang-title-inner:after{border-color:#fff transparent transparent transparent}.lang-menu-popover{line-height:1;position:absolute;z-index:1;display:none;padding:5px 0;text-align:left;background-color:#fff;-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.no-boxshadow .lang-menu-popover{border:1px solid #fff}.editmode .lang-menu-popover{padding-bottom:0}@media screen and (min-width:1025px){.menu-language-popover-open .lang-menu-popover{display:block}}.lang-menu-popover a:hover{background-color:rgba(0,0,0,.1)}.lang-menu-popover a.active{background-color:rgba(0,0,0,.2)}.site-search{margin-right:10px}.site-search .search-input{width:128px;padding:4px 5px 3px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(0,0,0,.53);border-radius:3px}.site-search .search-submit{position:relative;top:-1px}.search{display:none;position:absolute;width:310px;height:50px;line-height:1}@media screen and (max-width:640px){.search{position:fixed;top:0;right:0;bottom:0;left:0;height:auto;width:auto;background-color:#f7f7f7}}.search.active{position:absolute;right:0;z-index:20;display:block}@media screen and (min-width:641px){.search.active{top:30px}}.search-middle{vertical-align:middle;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.search-inner{position:relative;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.1);box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.search-form{position:relative;z-index:20;background-color:#fff;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.1);box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}@media screen and (max-width:640px){.search-form{padding-top:10px;padding-bottom:6px;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}}.search-form,.search-form.selected{margin:0 auto;border:none}@media screen and (min-width:641px){.search-form,.search-form.selected{max-width:400px}}.search-input{vertical-align:middle;width:100%;height:40px;margin:0;padding:0 55px 0 15px;font-family:inherit;font-size:16px;line-height:20px;color:#000;background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;border:none}@media screen and (max-width:640px){.search-open .search-input{padding:0 61px 0 42px}}.search-input::-ms-clear{display:none}.search-input::-webkit-input-placeholder{padding:2px 0 4px 0;line-height:1;color:rgba(0,0,0,.5)}.search-input:focus{outline:0}.search-btn,.search-submit{width:30px;height:50px;background-color:transparent}.no-svg .search-btn,.no-svg .search-submit{background-position:center;background-repeat:no-repeat;background-image:url(../images/ico-search-white.png)}.no-svg .light-background .search-btn,.no-svg .light-background .search-submit{background-image:url(../images/ico-search-black.png)}.search-submit{opacity:.5;position:absolute;top:0;right:25px;padding-top:2px;width:41px;background-size:32px;background-color:transparent}.search-submit:hover{opacity:1}.search-btn{z-index:21;vertical-align:middle;width:26px;height:26px;font-size:0}@media screen and (min-width:1025px){.search-btn{margin-left:28px}}@media screen and (max-width:1024px){.search-btn{margin-right:36px;top:-3px;position:relative}.search-active .search-btn{position:static}}.front-page .header-options .search-btn{top:1px}.content-page .header-options .search-btn{top:4px}.header-options .search-btn svg{fill:rgba(0,0,0,.7)}.front-page .header-options .search-btn svg{fill:#fff}.front-page .light-background .search-btn svg{fill:#000}.search-btn:hover svg{fill:rgba(0,0,0,.47)}.search-btn:focus{outline:0}@media screen and (max-width:640px){.content-page .header-options .search-btn{margin-right:35px}}@media screen and (max-width:640px){.search-open .search-open-btn{margin:0;position:absolute;top:16px;left:10px}.comments-open .search-open-btn{display:none}}.search-close-btn{position:absolute;right:0;width:auto;height:auto;margin:0;border-left:1px solid #eee}@media screen and (min-width:641px){.search-close-btn{top:8px;padding:8px 15px}}@media screen and (max-width:640px){.search-close-btn{top:10px;z-index:1000;padding:12px 20px}}.voog-search-modal{display:none;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:999;width:100%;max-height:calc(100vh - 140px);margin:0 auto;background-color:#fff;-webkit-box-shadow:none;box-shadow:none;overflow:auto;-webkit-overflow-scrolling:touch;text-align:left}.voog-search-modal.no-content{padding:20px;color:#000}.voog-search-modal.search-results-active{display:block}@media screen and (min-width:641px){.voog-search-modal{max-width:400px}}.voog-search-modal-results h3{margin:0;font-size:16px;color:#000;font-weight:400;line-height:1.3}.voog-search-modal-results h3 a{text-decoration:none;color:#000}.voog-search-modal-results h3 a:hover{color:rgba(0,0,0,.8)}.voog-search-modal-results p{margin:5px 0 0;font-size:14px;line-height:24px;color:rgba(0,0,0,.7)}.voog-search-modal-results em{font-style:normal;background-color:rgba(249,236,90,.5);border-radius:2px;padding:0 2px}.voog-search-modal-result{padding:15px;border-top:rgba(0,0,0,.13) solid 1px}.voog-search-modal-result:first-of-type{border-top:1px solid transparent}.site-sidebar{display:inline-block;vertical-align:top;width:220px;margin:50px 0 50px 40px}@media screen and (max-width:1024px){.site-sidebar{display:none}}@media screen and (min-width:1500px){.site-sidebar{width:20%}}.site-sidebar .sidebar-title{font-size:18px;font-weight:400;line-height:2;text-transform:uppercase;margin:0}@media screen and (max-width:1024px){.site-sidebar .sidebar-title{display:none}}.site-sidebar .sidebar-title a{color:#000}.dark-background .site-sidebar .sidebar-title a{color:#fff}.site-sidebar .submenu{margin-bottom:0;padding:0}.site-sidebar .submenu li,.site-sidebar .submenu ul{list-style:none}.site-sidebar .submenu li{font-size:18px;font-weight:300;line-height:1.7;margin:15px 0}.site-sidebar .submenu li:last-child{margin-bottom:0}@media screen and (max-width:1024px){.site-sidebar .submenu li{display:inline-block;margin-right:20px}}.site-sidebar .submenu a{color:#000;opacity:.5}.dark-background .site-sidebar .submenu a{color:#fff}.site-sidebar .submenu a:hover{opacity:1}.dark-background .site-sidebar .submenu a:hover{color:rgba(255,255,255,.8)}.site-sidebar .submenu a.untranslated{color:rgba(199,9,9,.7)}.site-sidebar .submenu a.untranslated:hover{color:#c70909}.site-sidebar .submenu .selected{font-weight:500;opacity:1}.dark-background .site-sidebar .submenu .selected{color:#fff}.dark-background .site-sidebar .submenu .selected:hover{color:#fff}.site-sidebar .submenu .submenu-lvl2{padding-left:25px}@media screen and (max-width:1024px){.site-sidebar .submenu .submenu-lvl2{display:none}}.site-sidebar .submenu .submenu-lvl2 li{font-size:16px;line-height:1.7;font-weight:300}.site-sidebar .submenu .submenu-lvl2 a{color:#000;opacity:1}.dark-background .site-sidebar .submenu .submenu-lvl2 a{color:#fff}.dark-background .site-sidebar .submenu .submenu-lvl2 a:hover{color:rgba(255,255,255,.5)}.site-sidebar .submenu .submenu-lvl2 a:hover{opacity:.5}.site-sidebar .submenu .submenu-lvl2 a.untranslated{color:rgba(199,9,9,.7)}.site-sidebar .submenu .submenu-lvl2 a.untranslated:hover{color:#c70909}.site-sidebar .submenu .submenu-lvl2 .selected{font-weight:500}.dark-background .site-sidebar .submenu .submenu-lvl2 .selected{color:#fff}.dark-background .site-sidebar .submenu .submenu-lvl2 .selected a:hover{color:#fff}.site-sidebar .submenu .submenu-lvl2 .selected a:hover{opacity:1}.content-item-boxes{margin-top:-15px;font-size:0;line-height:1.3}@media screen and (min-width:241px) and (max-width:640px){.content-item-boxes{margin-right:-10px;margin-left:-10px}}@media screen and (min-width:641px){.content-item-boxes{margin-right:-15px;margin-left:-15px}}.content-item-box{color:rgba(0,0,0,.8)}.item-list-page .content-item-box{-webkit-box-sizing:border-box;box-sizing:border-box}@media screen and (max-width:240px){.item-list-page .content-item-box{display:block}}@media screen and (min-width:241px){.item-list-page .content-item-box{display:inline-block;vertical-align:top}}@media screen and (min-width:241px) and (max-width:640px){.item-list-page .content-item-box{width:50%;padding:10px 10px 5px 10px}}@media screen and (min-width:641px){.item-list-page .content-item-box{width:33.3%;min-width:195px;padding:15px 2%}}.content-illustrations .content-item-box{margin-bottom:40px}.content-item-box .top-inner{opacity:1}.editmode .content-item-box .top-inner::after,.item-list-page .content-item-box .top-inner::after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;background-color:#fff;content:'';opacity:0;-webkit-transition:opacity .5s;-o-transition:opacity .5s;transition:opacity .5s}.editmode .content-item-box:hover .top-inner::after,.item-list-page .content-item-box:hover .top-inner::after{opacity:.2}.content-items{padding-right:20px;padding-left:20px}@media screen and (max-width:640px){.content-items{margin-top:30px}}@media screen and (min-width:641px){.content-items{margin-top:100px}}.content-item{margin-bottom:15px}.item-top{position:relative}.item-top:before{display:block;content:'';width:100%;padding-top:100%}.item-top>.aspect-ratio-inner{position:absolute;top:0;right:0;bottom:0;left:0}.item-top:hover .btn,.item-top:hover .edy-img-drop-area-remove-image{opacity:1}.item-top .btn{padding:0;background-color:rgba(0,102,187,.3);border:0;opacity:0;-webkit-transition:background-color .5s,opacity .5s;-o-transition:background-color .5s,opacity .5s;transition:background-color .5s,opacity .5s}.item-top .btn:hover{background-color:#06b}.item-top .bg-crop-btn{height:45px;width:45px;position:absolute;top:0;left:0;z-index:9;margin-top:10px;margin-left:10px;cursor:pointer;border-radius:100%;color:#fff}.item-top .bg-crop-btn:focus{outline:0}.item-top .bg-crop-btn.is-visible{display:block}.item-top .bg-crop-btn.is-hidden,.without-image .item-top .bg-crop-btn{display:none}.item-top .edy-img-drop-area-remove-image{height:45px;width:45px;top:10px;right:10px;z-index:9;color:#fff;background-color:rgba(0,102,187,.3);border:0;opacity:0;-webkit-transition:background-color .5s,opacity .5s;-o-transition:background-color .5s,opacity .5s;transition:background-color .5s,opacity .5s}.item-top .edy-img-drop-area-remove-image:hover{background-color:#06b}.item-top .edy-img-drop-area-remove-image-ico{margin-top:-10px;margin-left:-8px}.item-top .top-inner{-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-break:break-word;word-wrap:break-word;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:300;line-height:1.2;text-align:center}.publicmode .item-top .top-inner{overflow:hidden}.publicmode .item-top .top-inner .image-landscape.not-cropped{width:100%;height:auto;max-width:100%}.publicmode .item-top .top-inner .image-landscape.is-cropped{width:auto;height:100%}.publicmode .item-top .top-inner .image-portrait.not-cropped{width:auto;height:100%;max-height:100%}.publicmode .item-top .top-inner .image-portrait.is-cropped{width:100%;height:auto}.publicmode .item-top .top-inner .image-square{width:100%;height:auto}.with-image .item-top .top-inner{background-color:rgba(0,0,0,.02)}.without-image .item-top .top-inner{border-color:rgba(0,0,0,.1);border-style:solid;border-width:1px}@media screen and (max-width:240px){.item-top .top-inner{font-size:16px}}@media screen and (min-width:241px){.item-top .top-inner{font-size:13px}}@media screen and (min-width:291px){.item-top .top-inner{font-size:16px}}@media screen and (min-width:341px){.item-top .top-inner{font-size:20px}}@media screen and (min-width:1025px){.item-top .top-inner{font-size:30px}}.item-top .image-drop-area{background-position:center!important;background-repeat:no-repeat}.item-top .image-drop-area.not-cropped{background-size:contain}.item-top .image-drop-area:not(.active){border-color:rgba(0,0,0,.4);border-style:dashed;border-width:1px}.item-top .image-drop-area:not(.active):hover{border-style:solid}@media screen and (max-width:640px){.item-top .image-drop-area .edy-img-drop-area-placeholder{font-size:13px}}@media screen and (min-width:641px){.item-top .image-drop-area .edy-img-drop-area-placeholder{font-size:18px}}.item-image{border:0}.publicmode .item-image.is-cropped{position:absolute;top:-100%;right:-100%;bottom:-100%;left:-100%;max-width:none;margin:auto}.item-list-page .item-image{display:block}.item-placeholder{width:100%;padding:.5em;-webkit-box-sizing:border-box;box-sizing:border-box}.item-title{-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-break:break-word;word-wrap:break-word;margin-top:0;margin-bottom:0;line-height:1.2;text-align:center}.item-title .item-link{color:inherit}.content-item-box .item-title .item-link{display:block}.item-list-page .item-title{font-weight:400}@media only screen and (-webkit-min-device-pixel-ratio:1.3),only screen and (-o-min-device-pixel-ratio:13 / 10),only screen and (-webkit-min-device-pixel-ratio:1.25),only screen and (-o-min-device-pixel-ratio:5/4),only screen and (min-resolution:120dpi){.item-list-page .item-title{font-weight:100}}@media screen and (max-width:640px){.content-item-box .item-title{font-size:13px}}@media screen and (min-width:641px){.content-item-box .item-title{font-size:18px}}@media screen and (max-width:640px){.content-item .item-title{font-size:18px}}@media screen and (min-width:641px){.content-item .item-title{font-size:30px}}@media screen and (max-width:640px){.blog-article-page .item-title{font-size:32px}}@media screen and (min-width:641px){.blog-article-page .item-title{font-size:50px}}.content-item-box>.item-title{margin-top:20px;margin-bottom:5px}@media screen and (min-width:641px){.content-illustrations{-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:520px;margin-right:40px}}@media screen and (max-width:640px){.item-page .content-body{padding-top:40px}}@media screen and (min-width:641px){.item-page .content-body{-webkit-box-flex:1;-ms-flex:1;flex:1}}.items-body{padding-top:30px;padding-bottom:30px}@media screen and (min-width:641px){.items-body{display:-webkit-box;display:-ms-flexbox;display:flex}}.site-footer{position:relative;min-height:100px}.site-footer .inner{min-height:25px;padding-top:40px;padding-bottom:40px}.site-footer .dark-background .content-area a{color:#fff}.site-footer .voog-reference{opacity:.55;padding:0 0 40px;color:#000;text-align:center}.site-footer .voog-reference:hover{opacity:.8}.site-footer .voog-reference-with-padding{padding-top:40px}.site-footer .blog-article-nav{-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-break:break-word;word-wrap:break-word;display:table;width:100%;background-color:#fff}@media screen and (max-width:640px){.site-footer .blog-article-nav{display:block}}.site-footer .blog-article-nav .article-nav-full,.site-footer .blog-article-nav .article-nav-half{position:relative;display:table-cell;-webkit-box-sizing:border-box;box-sizing:border-box;width:50%;vertical-align:top;border-top:1px solid rgba(0,0,0,.1)}@media screen and (max-width:640px){.site-footer .blog-article-nav .article-nav-full,.site-footer .blog-article-nav .article-nav-half{display:block;width:100%}}.site-footer .blog-article-nav .article-nav-full:hover,.site-footer .blog-article-nav .article-nav-half:hover{-webkit-transition:.5s;-o-transition:.5s;transition:.5s}.site-footer .blog-article-nav .article-nav-full:hover .article-nav-title,.site-footer .blog-article-nav .article-nav-half:hover .article-nav-title{opacity:1}.site-footer .blog-article-nav .article-nav-full:hover .article-nav-direction,.site-footer .blog-article-nav .article-nav-half:hover .article-nav-direction{opacity:.7}.site-footer .blog-article-nav .article-nav-full a,.site-footer .blog-article-nav .article-nav-half a{display:block;height:100%;padding:55px 50px}@media screen and (max-width:640px){.site-footer .blog-article-nav .article-nav-full a,.site-footer .blog-article-nav .article-nav-half a{padding:30px 20px;text-align:center}}.site-footer .blog-article-nav .article-nav-full{display:block;width:100%}.site-footer .blog-article-nav .article-nav-full a{text-align:center}.site-footer .blog-article-nav .article-nav-prev{text-align:right}.site-footer .blog-article-nav .article-nav-next{border-left:1px solid rgba(0,0,0,.1)}@media screen and (max-width:640px){.site-footer .blog-article-nav .article-nav-next{margin-left:0;border-top:1px solid rgba(0,0,0,.1);border-left:0}}.site-footer .blog-article-nav .article-nav-inner{display:inline-block;width:100%;max-width:400px}.site-footer .blog-article-nav .article-nav-direction{margin-bottom:3px;font-size:12px;font-weight:400;line-height:2;color:#000;opacity:.35;letter-spacing:1px;text-transform:uppercase}.site-footer .blog-article-nav .article-nav-title{font-size:20px;line-height:30px;color:#000;opacity:.7}.site-footer .blog-article-nav .article-nav-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.site-footer .blog-article-nav.dark-background .article-nav-full,.site-footer .blog-article-nav.dark-background .article-nav-half{border-top:1px solid rgba(255,255,255,.1)}.site-footer .blog-article-nav.dark-background .article-nav-title{color:rgba(255,255,255,.7)}.site-footer .blog-article-nav.dark-background .article-nav-direction{color:rgba(255,255,255,.35)}.site-footer .blog-article-nav.dark-background .article-nav-next{border-left:1px solid rgba(255,255,255,.1)}@media screen and (max-width:640px){.site-footer .blog-article-nav.dark-background .article-nav-next{border-top:1px solid rgba(255,255,255,.1)}}@media screen and (max-width:640px){.comments-open .site-footer{display:none}}.site-footer .footer-body{position:relative}.signout-btn-wrap{position:fixed;right:5px;bottom:5px;z-index:10000;white-space:nowrap;background-color:#eee;height:35px;border-radius:3px;text-align:center;-webkit-box-shadow:0 1px 6px rgba(0,0,0,.5);box-shadow:0 1px 6px rgba(0,0,0,.5)}.signout-btn-wrap:hover{background-color:#c4c4c4}.signout-btn-wrap .signout-link{position:relative;z-index:10;display:block;padding:0 10px}.signout-btn-wrap .signout-name{display:inline-block;vertical-align:top;font-size:14px;font-weight:400;font-family:"Avenir Next",AvenirX;line-height:37px;padding-left:8px;color:rgba(27,33,36,.8)}.signout-btn-wrap .signout-name:hover{color:rgba(27,33,36,.9)}.signout-btn-wrap .signout-ico{height:35px;display:inline-block;color:rgba(27,33,36,.7)}.signout-btn-wrap .signout-svg{margin-top:3px}.content-area{-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-break:break-word;word-wrap:break-word;color:rgba(0,0,0,.7);font-size:18px;line-height:1.7}.content-area:empty{display:none}.dark-background .content-area{color:#fff}.site-footer .dark-background .content-area{color:#fff}.site-footer .content-area{text-align:center;font-size:14px;color:rgba(0,0,0,.7)}.content-area.footer-left{font-size:20px}.content-area.footer-right{font-size:16px}.content-area .edy-positionable-container-center-block:first-child,.content-area .edy-positionable-container-left-block:first-child,.content-area .edy-positionable-container-maxwidth:first-child,.content-area .edy-positionable-container-right-block:first-child,.content-area .edy-texteditor-container-wrapper-center:first-child,.content-area .edy-texteditor-container-wrapper-left-block:first-child,.content-area .edy-texteditor-container-wrapper-right-block:first-child,.content-area .table-container:first-child,.content-area code:first-child,.content-area dl:first-child,.content-area form:first-child,.content-area h1:first-child,.content-area h2:first-child,.content-area h3:first-child,.content-area h4:first-child,.content-area h5:first-child,.content-area h6:first-child,.content-area iframe:first-child,.content-area ol:first-child,.content-area p:first-child,.content-area pre:first-child,.content-area table:first-child,.content-area ul:first-child{margin-top:0}.content-area .edy-positionable-container-center-block:last-child,.content-area .edy-positionable-container-left-block:last-child,.content-area .edy-positionable-container-maxwidth:last-child,.content-area .edy-positionable-container-right-block:last-child,.content-area .edy-texteditor-container-wrapper-center:last-child,.content-area .edy-texteditor-container-wrapper-left-block:last-child,.content-area .edy-texteditor-container-wrapper-right-block:last-child,.content-area .table-container:last-child,.content-area code:last-child,.content-area dl:last-child,.content-area form:last-child,.content-area h1:last-child,.content-area h2:last-child,.content-area h3:last-child,.content-area h4:last-child,.content-area h5:last-child,.content-area h6:last-child,.content-area iframe:last-child,.content-area ol:last-child,.content-area p:last-child,.content-area pre:last-child,.content-area table:last-child,.content-area ul:last-child{margin-bottom:0}.dark-background .content-area code,.dark-background .content-area h1,.dark-background .content-area h2,.dark-background .content-area h3,.dark-background .content-area h4,.dark-background .content-area h5,.dark-background .content-area h6,.dark-background .content-area ol,.dark-background .content-area p,.dark-background .content-area pre,.dark-background .content-area table,.dark-background .content-area ul{color:#fff}.footer-inner.dark-background .content-area code,.footer-inner.dark-background .content-area h1,.footer-inner.dark-background .content-area h2,.footer-inner.dark-background .content-area h3,.footer-inner.dark-background .content-area h4,.footer-inner.dark-background .content-area h5,.footer-inner.dark-background .content-area h6,.footer-inner.dark-background .content-area ol,.footer-inner.dark-background .content-area p,.footer-inner.dark-background .content-area pre,.footer-inner.dark-background .content-area table,.footer-inner.dark-background .content-area ul{color:rgba(255,255,255,.5)}.content-area h1,.content-area h2,.content-area h3,.content-area h4,.content-area h5,.content-area h6{font-weight:300;color:#000;line-height:1.4}.content-area h1 a,.content-area h2 a,.content-area h3 a,.content-area h4 a,.content-area h5 a,.content-area h6 a{color:#000;text-decoration:none}.site-header .content-area h1:first-child,.site-header .content-area h2:first-child{margin-top:0}.site-header .content-area h1:last-child,.site-header .content-area h2:last-child{margin-bottom:0}.content-area h1{font-size:32px}@media screen and (max-width:640px){.content-area h1{font-size:28px}}.site-header .content-area h1{margin-top:.3em;margin-bottom:.3em;text-transform:uppercase;font-size:70px;font-weight:700;line-height:1.1}.site-header .content-area h1.blog-title,.site-header .content-area h1.blog-title a{margin-top:.3em;margin-bottom:.3em;font-size:70px;font-style:normal;font-weight:700;line-height:1.1;text-align:center;text-decoration:none;text-transform:uppercase}@media screen and (max-width:640px){.site-header .content-area h1{font-size:32px}}.content-area h1.article-title{font-style:normal;text-decoration:none}.blog-article-page .content-area h1.article-title{text-align:center}.content-area h2{font-size:26px;line-height:1.4}@media screen and (max-width:640px){.content-area h2{font-size:24px}}.site-header .content-area h2{margin-top:.2em;margin-bottom:.2em}.contacts .content-area h2{font-size:28px}.content-area h3,.content-area h4,.content-area h5,.content-area h6{font-size:22px}.contacts .content-area h3,.contacts .content-area h4,.contacts .content-area h5,.contacts .content-area h6{font-weight:400;font-size:24px}.content-area dl,.content-area ol,.content-area p,.content-area ul{font-size:18px}.site-footer .content-area dl,.site-footer .content-area ol,.site-footer .content-area p,.site-footer .content-area ul{font-size:14px;color:rgba(0,0,0,.7)}.site-footer .dark-background .content-area dl,.site-footer .dark-background .content-area ol,.site-footer .dark-background .content-area p,.site-footer .dark-background .content-area ul{color:#fff}.content-area dl,.content-area ol,.content-area ul{text-align:left}.content-area dl li,.content-area ol li,.content-area ul li{margin-top:10px}.content-area ul{list-style-type:none}.content-area ul li{position:relative}.content-area ul li:before{position:absolute;top:.2em;left:-15px;display:inline-block;vertical-align:middle;font-size:1em;font-weight:700;line-height:inherit;content:'°'}.content-area a{color:#000;text-decoration:underline}.content-area a:hover{text-decoration:none}.dark-background .content-area a{color:#fff}.content-area b,.content-area strong{font-weight:400;color:#000}.content-area code,.content-area form,.content-area iframe,.content-area pre,.content-area table{-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;word-break:normal;word-wrap:normal}.content-area .edy-positionable-container-center-block,.content-area .edy-positionable-container-left-block,.content-area .edy-positionable-container-right-block,.content-area .embed-container,.content-area .table-container,.content-area pre,.editmode .content-area table{margin-top:30px;margin-bottom:30px}.content-area code,.content-area pre{font-size:14px;background-color:rgba(0,0,0,.1)}.content-area pre{overflow:auto;-webkit-overflow-scrolling:touch;padding:10px}.content-area pre code{display:inline;padding:0;white-space:pre;line-height:inherit;background-color:transparent;overflow-wrap:normal;word-wrap:normal;word-break:normal}.content-area code{display:inline-block;padding:5px;overflow-wrap:break-word;word-wrap:break-word;word-break:break-all}.content-area blockquote{margin:20px 40px 20px 0;padding-left:20px;border-left:2px solid}.content-area iframe{max-width:100%}.map .content-area iframe{margin-top:0}.content-area .custom-btn{display:inline-block;background-color:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;padding:12px 30px 13px;text-transform:uppercase;font-size:16px;font-weight:400;line-height:1.7;text-align:center;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-break:break-word;word-wrap:break-word;text-decoration:none}.publicmode .content-area .custom-btn{cursor:pointer}.site-header .content-area .custom-btn{margin-top:30px;margin-bottom:30px}.site-header .content-area .custom-btn:first-child{margin-top:0}.site-header .content-area .custom-btn:last-child{margin-bottom:0}.dark-background .content-area .custom-btn{border:2px solid #fff;color:#fff}.light-background .content-area .custom-btn{border:2px solid #222;color:#222}.publicmode .dark-background .content-area .custom-btn-disabled,.publicmode .dark-background .content-area .custom-btn-disabled:hover,.publicmode .light-background .content-area .custom-btn-disabled,.publicmode .light-background .content-area .custom-btn-disabled:hover{color:#999;cursor:default;border:2px solid #999}.publicmode .dark-background .content-area .custom-btn-disabled:hover,.publicmode .light-background .content-area .custom-btn-disabled:hover{background-color:transparent}.content-area .custom-btn:hover{-webkit-transition:.5s;-o-transition:.5s;transition:.5s}.dark-background .content-area .custom-btn:hover{border:2px solid #fff;background-color:#fff;color:rgba(0,0,0,.7)}.light-background .content-area .custom-btn:hover{border:2px solid #222;background-color:#222;color:#fff}.content-area .contacts::first-line{color:red!important}.content-area .edy-positionable-container-left{margin-right:3%}.content-area .edy-positionable-container-right{margin-left:3%}.content-area .edy-image-container-with-title:after{display:block;padding:4px;font-size:13px;line-height:1.4em;content:attr(data-title)}.content-area .table-container{border-right:1px solid rgba(0,0,0,.1);border-left:1px solid rgba(0,0,0,.1)}.content .content-area .table-container{margin-bottom:35px}.content-area .overthrow{overflow:auto;-webkit-overflow-scrolling:touch}.contacts .content-area .overthrow{-webkit-overflow-scrolling:none}.content-area form{margin:20px 0}.content-area form:first-child{margin-top:0}.content-area table{width:100%;margin:0 auto;font-size:16px;border-collapse:collapse;border-spacing:0}.editmode .content .content-area table{margin-bottom:35px}.contacts .content-area table,.editmode .contacts .content-area table{margin-bottom:0}.content-area table td,.content-area table th{padding:9px 13px}.dark-background .content-area table td,.dark-background .content-area table th{border-color:#fff;border-style:solid;border-width:1px}.content-area table th{text-align:left;font-weight:400;color:#fff;background-color:#000;border-color:#000;border-style:solid;border-width:1px}.footer .content-area table th{color:rgba(255,255,255,.5)}.content-area table td{border-color:rgba(0,0,0,.1);border-style:solid;border-width:1px}.dark-background .content-area table td{border-color:rgba(255,255,255,.1);border-style:solid;border-width:1px}.contacts .content-area table,.footer .content-area table{width:auto;border:none}.contacts .content-area table tr td,.footer .content-area table tr td{background:0 0}.contacts .content-area table tr td:first-child,.footer .content-area table tr td:first-child{padding-left:0;border-left:none}.contacts .content-area table tr td:last-child,.footer .content-area table tr td:last-child{padding-right:0}.contacts .content-area table{font-size:24px;line-height:1em}.contacts .content-area table tr td{padding:0 25px;color:rgba(0,0,0,.7);border-top:none;border-left:2px solid rgba(0,0,0,.2);border-right:none;border-bottom:none}@media screen and (max-width:984px){.contacts .content-area table{font-size:20px}}@media screen and (max-width:850px){.contacts .content-area table{font-size:16px}}.footer .content-area table tr td{padding:0 12px;border:none}.footer .content-area table tr td:last-child{padding-right:0}@media screen and (max-width:522px){.contacts .content-area table,.contacts .content-area table tbody,.contacts .content-area table tr,.footer .content-area table,.footer .content-area table tbody,.footer .content-area table tr{display:block}.contacts .content-area table tr td,.footer .content-area table tr td{width:100%;float:left;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.contacts .content-area table{line-height:inherit}.contacts .content-area table tr td{border-left:none;border-bottom:2px solid rgba(0,0,0,.2)}}.content-area .form,.content-area form{clear:both;font-size:14px}.content-area .form_field{padding-top:8px;padding-bottom:8px}.content-area .form_field:first-child{padding-top:0}.content-area .form_field:last-child{padding-bottom:0}.content-area .form_field .edy-fe-label,.content-area .form_field label{font-size:16px;position:relative;display:block;margin-bottom:5px}.content-area .form_field_required .form_field_label:after{content:'* \a'}.dark-background .content-area .form_field_checkbox+.form_control_indicator,.dark-background .content-area .form_field_radio+.form_control_indicator,.dark-background .content-area .form_field_select,.dark-background .content-area .form_field_textarea,.dark-background .content-area .form_field_textfield{background-color:rgba(255,255,255,.1)}.light-background .content-area .form_field_checkbox+.form_control_indicator,.light-background .content-area .form_field_radio+.form_control_indicator,.light-background .content-area .form_field_select,.light-background .content-area .form_field_textarea,.light-background .content-area .form_field_textfield{background-color:rgba(0,0,0,.03)}.content-area .form_field_select,.content-area .form_field_textarea,.content-area .form_field_textfield{font-size:16px;font-weight:300;line-height:26px;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:100%;padding:8px 13px;vertical-align:bottom;border-width:1px;border-style:solid;outline:0}.content-area .form_field_select::-webkit-input-placeholder,.content-area .form_field_textarea::-webkit-input-placeholder,.content-area .form_field_textfield::-webkit-input-placeholder{color:#000;opacity:.35}.content-area .form_field_select:-ms-input-placeholder,.content-area .form_field_textarea:-ms-input-placeholder,.content-area .form_field_textfield:-ms-input-placeholder{color:#000;opacity:.35}.content-area .form_field_select::-ms-input-placeholder,.content-area .form_field_textarea::-ms-input-placeholder,.content-area .form_field_textfield::-ms-input-placeholder{color:#000;opacity:.35}.content-area .form_field_select::placeholder,.content-area .form_field_textarea::placeholder,.content-area .form_field_textfield::placeholder{color:#000;opacity:.35}.dark-background .content-area .form_field_select,.dark-background .content-area .form_field_textarea,.dark-background .content-area .form_field_textfield{color:#fff;border-color:rgba(255,255,255,.3)}.light-background .content-area .form_field_select,.light-background .content-area .form_field_textarea,.light-background .content-area .form_field_textfield{color:rgba(0,0,0,.7);border-color:rgba(0,0,0,.13)}.dark-background .content-area .form_field_select:focus,.dark-background .content-area .form_field_textarea:focus,.dark-background .content-area .form_field_textfield:focus{border-color:#fff}.light-background .content-area .form_field_select:focus,.light-background .content-area .form_field_textarea:focus,.light-background .content-area .form_field_textfield:focus{border-color:rgba(0,0,0,.35)}.content-area .form_field_select.form_field_size_small,.content-area .form_field_textarea.form_field_size_small,.content-area .form_field_textfield.form_field_size_small{width:280px}.content-area .form_field_select.form_field_size_medium,.content-area .form_field_textarea.form_field_size_medium,.content-area .form_field_textfield.form_field_size_medium{width:420px}.content-area .form_field_select.form_field_size_large,.content-area .form_field_textarea.form_field_size_large,.content-area .form_field_textfield.form_field_size_large{width:100%}.content-area .form_field_select{position:relative;padding-right:27px;background-repeat:no-repeat;background-position:right 10px center;-moz-appearance:none;-ms-appearance:none}.dark-background .content-area .form_field_select{background-image:url(../assets/ico-arrow-white.svg)}.light-background .content-area .form_field_select{background-image:url(../assets/ico-arrow.svg)}.content-area .form_field_select::-ms-expand{display:none}.content-area .form_field_select:after{position:absolute;top:0;right:15px;bottom:0;display:block;width:0;height:0;margin:auto 0;content:'';border-top:5px solid #ccc;border-right:5px solid transparent;border-left:5px solid transparent}.content-area .form_field_select.form_field_size_small{min-width:auto}.content-area .form_field_select.form_field_size_medium{min-width:124px}.content-area .form_field_select.form_field_size_large{min-width:184px}.svg .content-area .form_field_checkbox,.svg .content-area .form_field_radio{display:none}.svg .content-area .form_field_checkbox+.form_control_indicator,.svg .content-area .form_field_radio+.form_control_indicator{height:18px;width:18px;position:relative;display:inline-block;margin-right:10px;vertical-align:middle;border-width:1px;border-style:solid;border-color:rgba(0,0,0,.2)}.svg .dark-background .content-area .form_field_checkbox+.form_control_indicator,.svg .dark-background .content-area .form_field_radio+.form_control_indicator{border-color:rgba(255,255,255,.2)}.svg .content-area .form_field_radio+.form_control_indicator{top:-1px;border-radius:100%}.svg .content-area .form_field_radio+.form_control_indicator:before{height:12px;width:12px;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .15s ease;transition:-webkit-transform .15s ease;-o-transition:transform .15s ease;transition:transform .15s ease;transition:transform .15s ease,-webkit-transform .15s ease;position:absolute;top:3px;left:3px;content:'';border-radius:100%;background-color:rgba(0,0,0,.4)}.svg .content-area .form_field_radio:checked+.form_control_indicator:before{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform .15s ease;transition:-webkit-transform .15s ease;-o-transition:transform .15s ease;transition:transform .15s ease;transition:transform .15s ease,-webkit-transform .15s ease}.svg .dark-background .content-area .form_field_radio:checked+.form_control_indicator:before{background-color:rgba(255,255,255,.4)}.svg .content-area .form_field_checkbox+.form_control_indicator{top:-2px}.svg .content-area .form_field_checkbox+.form_control_indicator:before{-webkit-transform:scale(0) rotate(45deg);-ms-transform:scale(0) rotate(45deg);transform:scale(0) rotate(45deg);display:block;width:5px;height:10px;margin:1px 0 0 6px;content:'';-webkit-transition:-webkit-transform .15s ease 0s;transition:-webkit-transform .15s ease 0s;-o-transition:transform .15s ease 0s;transition:transform .15s ease 0s;transition:transform .15s ease 0s,-webkit-transform .15s ease 0s;border-width:0 2px 2px 0;border-style:none solid solid none;border-color:rgba(0,0,0,.4)}.svg .content-area .form_field_checkbox:checked+.form_control_indicator:before{-webkit-transform:scale(1) rotate(45deg);-ms-transform:scale(1) rotate(45deg);transform:scale(1) rotate(45deg);-webkit-transition:-webkit-transform .15s ease;transition:-webkit-transform .15s ease;-o-transition:transform .15s ease;transition:transform .15s ease;transition:transform .15s ease,-webkit-transform .15s ease}.svg .dark-background .content-area .form_field_checkbox+.form_control_indicator:before{border-color:rgba(255,255,255,.2)}.content-area .form_submit{margin-top:16px}.content-area .form_submit input{-webkit-appearance:none;border-radius:0;font-family:Roboto,sans-serif;font-size:14px;font-weight:400;line-height:2;padding:10px 20px;cursor:pointer;text-transform:uppercase;border:none}.content-area .form_submit input:hover{opacity:.7}.dark-background .content-area .form_submit input{color:#000;background-color:#fff}.light-background .content-area .form_submit input{color:#fff;background-color:#000}@media screen and (min-width:850px){.content-half .content-area .form_submit input{width:100%}}@media screen and (max-width:640px){.content-half .content-area .form_submit input{width:100%}}.content-area .form_submit input:hover{-webkit-transition:.5s;-o-transition:.5s;transition:.5s}.content-area .form_submit input:focus{outline:0}.content-area .article-comments .form_submit input{width:100%}.content-area .form_error,.content-area .form_notice{font-size:22px;font-weight:300}.content-area .form_error,.content-area .form_field_error{color:red}.content-area .form_error{margin-bottom:20px;color:red}.content-area .form_field_with_errors .form_field_textarea,.content-area .form_field_with_errors .form_field_textfield{border:1px solid red}.content-area .form_field_error{font-size:14px}.content-area .form_notice{margin-bottom:20px;color:rgba(14,203,0,.7)}.content-area .edy-buy-button-container .form_field{padding-top:12px}.content-area .edy-buy-button-variants .form_field{padding-top:6px;padding-bottom:6px}.content-area .edy-buy-button-variants .form_field_select{width:initial} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..1104d1f --- /dev/null +++ b/yarn.lock @@ -0,0 +1,2739 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +abbrev@1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +ansi-styles@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" + dependencies: + color-convert "^1.9.0" + +archive-type@^3.0.0, archive-type@^3.0.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/archive-type/-/archive-type-3.2.0.tgz#9cd9c006957ebe95fadad5bd6098942a813737f6" + dependencies: + file-type "^3.1.0" + +argparse@^1.0.2, argparse@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + dependencies: + sprintf-js "~1.0.2" + +argparse@~0.1.15: + version "0.1.16" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-0.1.16.tgz#cfd01e0fbba3d6caed049fbd758d40f65196f57c" + dependencies: + underscore "~1.7.0" + underscore.string "~2.4.0" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.0, array-uniq@^1.0.1, array-uniq@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +async-each-series@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-1.1.0.tgz#f42fd8155d38f21a5b8ea07c28e063ed1700b138" + +async@^0.9.0: + version "0.9.2" + resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" + +async@^1.5.0, async@^1.5.2, async@~1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +autolinker@~0.15.0: + version "0.15.3" + resolved "https://registry.yarnpkg.com/autolinker/-/autolinker-0.15.3.tgz#342417d8f2f3461b14cf09088d5edf8791dc9832" + +autoprefixer@^7.2.5: + version "7.2.5" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.2.5.tgz#04ccbd0c6a61131b6d13f53d371926092952d192" + dependencies: + browserslist "^2.11.1" + caniuse-lite "^1.0.30000791" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^6.0.16" + postcss-value-parser "^3.2.3" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +beeper@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" + +bin-build@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/bin-build/-/bin-build-2.2.0.tgz#11f8dd61f70ffcfa2bdcaa5b46f5e8fedd4221cc" + dependencies: + archive-type "^3.0.1" + decompress "^3.0.0" + download "^4.1.2" + exec-series "^1.0.0" + rimraf "^2.2.6" + tempfile "^1.0.0" + url-regex "^3.0.0" + +bin-check@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/bin-check/-/bin-check-2.0.0.tgz#86f8e6f4253893df60dc316957f5af02acb05930" + dependencies: + executable "^1.0.0" + +bin-version-check@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-2.1.0.tgz#e4e5df290b9069f7d111324031efc13fdd11a5b0" + dependencies: + bin-version "^1.0.0" + minimist "^1.1.0" + semver "^4.0.3" + semver-truncate "^1.0.0" + +bin-version@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-1.0.4.tgz#9eb498ee6fd76f7ab9a7c160436f89579435d78e" + dependencies: + find-versions "^1.0.0" + +bin-wrapper@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/bin-wrapper/-/bin-wrapper-3.0.2.tgz#67d3306262e4b1a5f2f88ee23464f6a655677aeb" + dependencies: + bin-check "^2.0.0" + bin-version-check "^2.1.0" + download "^4.0.0" + each-async "^1.1.1" + lazy-req "^1.0.0" + os-filter-obj "^1.0.0" + +bl@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e" + dependencies: + readable-stream "^2.0.5" + +body-parser@~1.14.0: + version "1.14.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.14.2.tgz#1015cb1fe2c443858259581db53332f8d0cf50f9" + dependencies: + bytes "2.2.0" + content-type "~1.0.1" + debug "~2.2.0" + depd "~1.1.0" + http-errors "~1.3.1" + iconv-lite "0.4.13" + on-finished "~2.3.0" + qs "5.2.0" + raw-body "~2.1.5" + type-is "~1.6.10" + +brace-expansion@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +browserify-zlib@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" + dependencies: + pako "~0.2.0" + +browserslist@^2.11.1: + version "2.11.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.11.3.tgz#fe36167aed1bbcde4827ebfe71347a2cc70b99b2" + dependencies: + caniuse-lite "^1.0.30000792" + electron-to-chromium "^1.3.30" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + +buffer-to-vinyl@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz#00f15faee3ab7a1dda2cde6d9121bffdd07b2262" + dependencies: + file-type "^3.1.0" + readable-stream "^2.0.2" + uuid "^2.0.1" + vinyl "^1.0.0" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +bytes@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.2.0.tgz#fd35464a403f6f9117c2de3609ecff9cae000588" + +bytes@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + +caniuse-lite@^1.0.30000791, caniuse-lite@^1.0.30000792: + version "1.0.30000792" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000792.tgz#d0cea981f8118f3961471afbb43c9a1e5bbf0332" + +capture-stack-trace@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" + +caw@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/caw/-/caw-1.2.0.tgz#ffb226fe7efc547288dc62ee3e97073c212d1034" + dependencies: + get-proxy "^1.0.1" + is-obj "^1.0.0" + object-assign "^3.0.0" + tunnel-agent "^0.4.0" + +chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3, chalk@~1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" + dependencies: + ansi-styles "^3.1.0" + escape-string-regexp "^1.0.5" + supports-color "^4.0.0" + +chalk@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" + dependencies: + ansi-styles "^3.1.0" + escape-string-regexp "^1.0.5" + supports-color "^4.0.0" + +clap@^1.0.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.0.tgz#59c90fe3e137104746ff19469a27a634ff68c857" + dependencies: + chalk "^1.1.3" + +clean-css@~4.1.1: + version "4.1.8" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.8.tgz#061455b2494a750ac98f46d8d5ebb17c679ea9d1" + dependencies: + source-map "0.5.x" + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +clone-stats@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" + +clone@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" + +clone@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" + +co@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78" + +coa@~1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" + dependencies: + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +coffee-script@~1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.10.0.tgz#12938bcf9be1948fa006f92e0c4c9e81705108c0" + +color-convert@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" + dependencies: + color-name "^1.1.1" + +color-name@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + +colors@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + +commander@~2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" + +commander@~2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" + dependencies: + graceful-readlink ">= 1.0.0" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@^1.4.1, concat-stream@^1.4.6, concat-stream@^1.4.7: + version "1.6.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" + dependencies: + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +console-stream@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/console-stream/-/console-stream-0.1.1.tgz#a095fe07b20465955f2fafd28b5d72bccd949d44" + +content-type@~1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + +convert-source-map@^1.1.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +create-error-class@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + dependencies: + capture-stack-trace "^1.0.0" + +cross-spawn@^0.2.3: + version "0.2.9" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-0.2.9.tgz#bd67f96c07efb6303b7fe94c1e979f88478e0a39" + dependencies: + lru-cache "^2.5.0" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +csso@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" + dependencies: + clap "^1.0.9" + source-map "^0.5.3" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +dargs@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" + dependencies: + number-is-nan "^1.0.0" + +dateformat@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17" + +dateformat@~1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" + dependencies: + get-stdin "^4.0.1" + meow "^3.3.0" + +debug@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +decamelize@^1.1.1, decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +decompress-tar@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-3.1.0.tgz#217c789f9b94450efaadc5c5e537978fc333c466" + dependencies: + is-tar "^1.0.0" + object-assign "^2.0.0" + strip-dirs "^1.0.0" + tar-stream "^1.1.1" + through2 "^0.6.1" + vinyl "^0.4.3" + +decompress-tarbz2@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz#8b23935681355f9f189d87256a0f8bdd96d9666d" + dependencies: + is-bzip2 "^1.0.0" + object-assign "^2.0.0" + seek-bzip "^1.0.3" + strip-dirs "^1.0.0" + tar-stream "^1.1.1" + through2 "^0.6.1" + vinyl "^0.4.3" + +decompress-targz@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-3.1.0.tgz#b2c13df98166268991b715d6447f642e9696f5a0" + dependencies: + is-gzip "^1.0.0" + object-assign "^2.0.0" + strip-dirs "^1.0.0" + tar-stream "^1.1.1" + through2 "^0.6.1" + vinyl "^0.4.3" + +decompress-unzip@^3.0.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-3.4.0.tgz#61475b4152066bbe3fee12f9d629d15fe6478eeb" + dependencies: + is-zip "^1.0.0" + read-all-stream "^3.0.0" + stat-mode "^0.2.0" + strip-dirs "^1.0.0" + through2 "^2.0.0" + vinyl "^1.0.0" + yauzl "^2.2.1" + +decompress@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/decompress/-/decompress-3.0.0.tgz#af1dd50d06e3bfc432461d37de11b38c0d991bed" + dependencies: + buffer-to-vinyl "^1.0.0" + concat-stream "^1.4.6" + decompress-tar "^3.0.0" + decompress-tarbz2 "^3.0.0" + decompress-targz "^3.0.0" + decompress-unzip "^3.0.0" + stream-combiner2 "^1.1.1" + vinyl-assign "^1.0.1" + vinyl-fs "^2.2.0" + +deep-extend@~0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" + +depd@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" + +diff@^3.0.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" + +doctrine@1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.2.3.tgz#6aec6bbd62cf89dd498cae70c0ed9f49da873a6a" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +download@^4.0.0, download@^4.1.2: + version "4.4.3" + resolved "https://registry.yarnpkg.com/download/-/download-4.4.3.tgz#aa55fdad392d95d4b68e8c2be03e0c2aa21ba9ac" + dependencies: + caw "^1.0.1" + concat-stream "^1.4.7" + each-async "^1.0.0" + filenamify "^1.0.1" + got "^5.0.0" + gulp-decompress "^1.2.0" + gulp-rename "^1.2.0" + is-url "^1.2.0" + object-assign "^4.0.1" + read-all-stream "^3.0.0" + readable-stream "^2.0.2" + stream-combiner2 "^1.1.1" + vinyl "^1.0.0" + vinyl-fs "^2.2.0" + ware "^1.2.0" + +duplexer2@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" + dependencies: + readable-stream "~1.1.9" + +duplexer2@^0.1.4, duplexer2@~0.1.0: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + dependencies: + readable-stream "^2.0.2" + +duplexer@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + +duplexify@^3.2.0: + version "3.5.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.1.tgz#4e1516be68838bc90a49994f0b39a6e5960befcd" + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +each-async@^1.0.0, each-async@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/each-async/-/each-async-1.1.1.tgz#dee5229bdf0ab6ba2012a395e1b869abf8813473" + dependencies: + onetime "^1.0.0" + set-immediate-shim "^1.0.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +electron-to-chromium@^1.3.30: + version "1.3.31" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.31.tgz#00d832cba9fe2358652b0c48a8816c8e3a037e9f" + +end-of-stream@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.0.tgz#7a90d833efda6cfa6eac0f4949dbb0fad3a63206" + dependencies: + once "^1.4.0" + +error-ex@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + dependencies: + is-arrayish "^0.2.1" + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +esprima@^2.6.0: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +eventemitter2@~0.4.13: + version "0.4.14" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab" + +exec-buffer@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/exec-buffer/-/exec-buffer-3.2.0.tgz#b1686dbd904c7cf982e652c1f5a79b1e5573082b" + dependencies: + execa "^0.7.0" + p-finally "^1.0.0" + pify "^3.0.0" + rimraf "^2.5.4" + tempfile "^2.0.0" + +exec-series@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/exec-series/-/exec-series-1.0.3.tgz#6d257a9beac482a872c7783bc8615839fc77143a" + dependencies: + async-each-series "^1.1.0" + object-assign "^4.1.0" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +executable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/executable/-/executable-1.1.0.tgz#877980e9112f3391066da37265de7ad8434ab4d9" + dependencies: + meow "^3.1.0" + +exit@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + dependencies: + is-extendable "^0.1.0" + +extend@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +fancy-log@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948" + dependencies: + chalk "^1.1.1" + time-stamp "^1.0.0" + +faye-websocket@~0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + dependencies: + websocket-driver ">=0.5.1" + +fd-slicer@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" + dependencies: + pend "~1.2.0" + +figures@^1.0.1, figures@^1.3.5: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +file-sync-cmp@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz#a5e7a8ffbfa493b43b923bbd4ca89a53b63b612b" + +file-type@^3.1.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + +file-type@^4.1.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-4.4.0.tgz#1b600e5fca1fbdc6e80c0a70c71c8dba5f7906c5" + +file@0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/file/-/file-0.2.2.tgz#c3dfd8f8cf3535ae455c2b423c2e52635d76b4d3" + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + +filename-reserved-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz#e61cf805f0de1c984567d0386dc5df50ee5af7e4" + +filenamify@^1.0.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-1.2.1.tgz#a9f2ffd11c503bed300015029272378f1f1365a5" + dependencies: + filename-reserved-regex "^1.0.0" + strip-outer "^1.0.0" + trim-repeated "^1.0.0" + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +find-parent-dir@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-versions@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-1.2.1.tgz#cbde9f12e38575a0af1be1b9a2c5d5fd8f186b62" + dependencies: + array-uniq "^1.0.0" + get-stdin "^4.0.1" + meow "^3.5.0" + semver-regex "^1.0.0" + +findup-sync@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16" + dependencies: + glob "~5.0.0" + +first-chunk-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" + +for-in@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + dependencies: + for-in "^1.0.1" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +gaze@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" + dependencies: + globule "^1.0.0" + +get-caller-file@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + +get-proxy@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/get-proxy/-/get-proxy-1.1.0.tgz#894854491bc591b0f147d7ae570f5c678b7256eb" + dependencies: + rc "^1.1.2" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + +getobject@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/getobject/-/getobject-0.1.0.tgz#047a449789fa160d018f5486ed91320b6ec7885c" + +gifsicle@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/gifsicle/-/gifsicle-3.0.4.tgz#f45cb5ed10165b665dc929e0e9328b6c821dfa3b" + dependencies: + bin-build "^2.0.0" + bin-wrapper "^3.0.0" + logalot "^2.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob-parent@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-stream@^5.3.2: + version "5.3.5" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22" + dependencies: + extend "^3.0.0" + glob "^5.0.3" + glob-parent "^3.0.0" + micromatch "^2.3.7" + ordered-read-streams "^0.3.0" + through2 "^0.6.0" + to-absolute-glob "^0.1.1" + unique-stream "^2.0.2" + +glob@^5.0.3, glob@~5.0.0: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.3, glob@^7.0.5, glob@~7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@~7.0.0: + version "7.0.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globule@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09" + dependencies: + glob "~7.1.1" + lodash "~4.17.4" + minimatch "~3.0.2" + +glogg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" + dependencies: + sparkles "^1.0.0" + +got@^5.0.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" + dependencies: + create-error-class "^3.0.1" + duplexer2 "^0.1.4" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + node-status-codes "^1.0.0" + object-assign "^4.0.1" + parse-json "^2.1.0" + pinkie-promise "^2.0.0" + read-all-stream "^3.0.0" + readable-stream "^2.0.5" + timed-out "^3.0.0" + unzip-response "^1.0.2" + url-parse-lax "^1.0.0" + +graceful-fs@^4.0.0, graceful-fs@^4.1.2: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +grunt-cli@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.2.0.tgz#562b119ebb069ddb464ace2845501be97b35b6a8" + dependencies: + findup-sync "~0.3.0" + grunt-known-options "~1.1.0" + nopt "~3.0.6" + resolve "~1.1.0" + +grunt-contrib-clean@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/grunt-contrib-clean/-/grunt-contrib-clean-1.1.0.tgz#564abf2d0378a983a15b9e3f30ee75b738c40638" + dependencies: + async "^1.5.2" + rimraf "^2.5.1" + +grunt-contrib-concat@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz#61509863084e871d7e86de48c015259ed97745bd" + dependencies: + chalk "^1.0.0" + source-map "^0.5.3" + +grunt-contrib-copy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz#7060c6581e904b8ab0d00f076e0a8f6e3e7c3573" + dependencies: + chalk "^1.1.1" + file-sync-cmp "^0.1.0" + +grunt-contrib-cssmin@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/grunt-contrib-cssmin/-/grunt-contrib-cssmin-2.2.1.tgz#64cbebe60134bc1270ca4154514ec4007cc16f7f" + dependencies: + chalk "^1.0.0" + clean-css "~4.1.1" + maxmin "^2.1.0" + +grunt-contrib-imagemin@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/grunt-contrib-imagemin/-/grunt-contrib-imagemin-2.0.1.tgz#e91e490ad8187dd8e57b09ce2a7ac3d2d2ab7208" + dependencies: + chalk "^1.0.0" + imagemin "^5.3.1" + p-map "^1.1.1" + plur "^2.1.2" + pretty-bytes "^4.0.2" + optionalDependencies: + imagemin-gifsicle "^5.0.0" + imagemin-jpegtran "^5.0.0" + imagemin-optipng "^5.1.0" + imagemin-svgo "^5.1.0" + +grunt-contrib-sass@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/grunt-contrib-sass/-/grunt-contrib-sass-1.0.0.tgz#806838251cbc0e1a94d64d515cdd34cf674d701b" + dependencies: + async "^0.9.0" + chalk "^1.0.0" + cross-spawn "^0.2.3" + dargs "^4.0.0" + which "^1.0.5" + +grunt-contrib-uglify@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/grunt-contrib-uglify/-/grunt-contrib-uglify-3.3.0.tgz#dcc29bee1dd4768698930e46fb8bff8e8d37fb08" + dependencies: + chalk "^1.0.0" + maxmin "^1.1.0" + uglify-js "~3.3.0" + uri-path "^1.0.0" + +grunt-contrib-watch@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz#84a1a7a1d6abd26ed568413496c73133e990018f" + dependencies: + async "^1.5.0" + gaze "^1.0.0" + lodash "^3.10.1" + tiny-lr "^0.2.1" + +grunt-exec@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/grunt-exec/-/grunt-exec-3.0.0.tgz#881f868d64098788fddaf22fa25d8572a9d64dc7" + +grunt-known-options@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/grunt-known-options/-/grunt-known-options-1.1.0.tgz#a4274eeb32fa765da5a7a3b1712617ce3b144149" + +grunt-legacy-log-utils@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz#a7b8e2d0fb35b5a50f4af986fc112749ebc96f3d" + dependencies: + chalk "~1.1.1" + lodash "~4.3.0" + +grunt-legacy-log@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz#fb86f1809847bc07dc47843f9ecd6cacb62df2d5" + dependencies: + colors "~1.1.2" + grunt-legacy-log-utils "~1.0.0" + hooker "~0.2.3" + lodash "~3.10.1" + underscore.string "~3.2.3" + +grunt-legacy-util@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz#386aa78dc6ed50986c2b18957265b1b48abb9b86" + dependencies: + async "~1.5.2" + exit "~0.1.1" + getobject "~0.1.0" + hooker "~0.2.3" + lodash "~4.3.0" + underscore.string "~3.2.3" + which "~1.2.1" + +grunt-modernizr-builder@^0.1.9: + version "0.1.9" + resolved "https://registry.yarnpkg.com/grunt-modernizr-builder/-/grunt-modernizr-builder-0.1.9.tgz#efb38ff0086d6276a1de8c47e2dc95da266a7d27" + dependencies: + modernizr "^3.3.1" + +grunt-postcss@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/grunt-postcss/-/grunt-postcss-0.9.0.tgz#fbe5934a6be9eac893af6d057e2318c97fae9da3" + dependencies: + chalk "^2.1.0" + diff "^3.0.0" + postcss "^6.0.11" + +grunt@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.0.1.tgz#e8778764e944b18f32bb0f10b9078475c9dfb56b" + dependencies: + coffee-script "~1.10.0" + dateformat "~1.0.12" + eventemitter2 "~0.4.13" + exit "~0.1.1" + findup-sync "~0.3.0" + glob "~7.0.0" + grunt-cli "~1.2.0" + grunt-known-options "~1.1.0" + grunt-legacy-log "~1.0.0" + grunt-legacy-util "~1.0.0" + iconv-lite "~0.4.13" + js-yaml "~3.5.2" + minimatch "~3.0.0" + nopt "~3.0.6" + path-is-absolute "~1.0.0" + rimraf "~2.2.8" + +gulp-decompress@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gulp-decompress/-/gulp-decompress-1.2.0.tgz#8eeb65a5e015f8ed8532cafe28454960626f0dc7" + dependencies: + archive-type "^3.0.0" + decompress "^3.0.0" + gulp-util "^3.0.1" + readable-stream "^2.0.2" + +gulp-rename@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.2.2.tgz#3ad4428763f05e2764dec1c67d868db275687817" + +gulp-sourcemaps@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz#b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c" + dependencies: + convert-source-map "^1.1.1" + graceful-fs "^4.1.2" + strip-bom "^2.0.0" + through2 "^2.0.0" + vinyl "^1.0.0" + +gulp-util@^3.0.1: + version "3.0.8" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" + dependencies: + array-differ "^1.0.0" + array-uniq "^1.0.2" + beeper "^1.0.0" + chalk "^1.0.0" + dateformat "^2.0.0" + fancy-log "^1.1.0" + gulplog "^1.0.0" + has-gulplog "^0.1.0" + lodash._reescape "^3.0.0" + lodash._reevaluate "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.template "^3.0.0" + minimist "^1.1.0" + multipipe "^0.1.2" + object-assign "^3.0.0" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl "^0.5.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + dependencies: + glogg "^1.0.0" + +gzip-size@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-1.0.0.tgz#66cf8b101047227b95bace6ea1da0c177ed5c22f" + dependencies: + browserify-zlib "^0.1.4" + concat-stream "^1.4.1" + +gzip-size@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" + dependencies: + duplexer "^0.1.1" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + +has-gulplog@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" + dependencies: + sparkles "^1.0.0" + +hooker@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz#b834f723cc4a242aa65963459df6d984c5d3d959" + +hosted-git-info@^2.1.4: + version "2.5.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" + +html-comment-regex@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" + +http-errors@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942" + dependencies: + inherits "~2.0.1" + statuses "1" + +http-parser-js@>=0.4.0: + version "0.4.6" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.6.tgz#195273f58704c452d671076be201329dd341dc55" + +iconv-lite@0.4.13: + version "0.4.13" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" + +iconv-lite@~0.4.13: + version "0.4.19" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + +imagemin-gifsicle@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/imagemin-gifsicle/-/imagemin-gifsicle-5.2.0.tgz#3781524c457612ef04916af34241a2b42bfcb40a" + dependencies: + exec-buffer "^3.0.0" + gifsicle "^3.0.0" + is-gif "^1.0.0" + +imagemin-jpegtran@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/imagemin-jpegtran/-/imagemin-jpegtran-5.0.2.tgz#e6882263b8f7916fddb800640cf75d2e970d2ad6" + dependencies: + exec-buffer "^3.0.0" + is-jpg "^1.0.0" + jpegtran-bin "^3.0.0" + +imagemin-optipng@^5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz#d22da412c09f5ff00a4339960b98a88b1dbe8695" + dependencies: + exec-buffer "^3.0.0" + is-png "^1.0.0" + optipng-bin "^3.0.0" + +imagemin-svgo@^5.1.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/imagemin-svgo/-/imagemin-svgo-5.2.2.tgz#501699f5789730a57922b8736ea15c53f7b55838" + dependencies: + is-svg "^2.0.0" + svgo "^0.7.0" + +imagemin@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/imagemin/-/imagemin-5.3.1.tgz#f19c2eee1e71ba6c6558c515f9fc96680189a6d4" + dependencies: + file-type "^4.1.0" + globby "^6.1.0" + make-dir "^1.0.0" + p-pipe "^1.1.0" + pify "^2.3.0" + replace-ext "^1.0.0" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +ini@~1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +ip-regex@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd" + +irregular-plurals@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.3.0.tgz#7af06931bdf74be33dcf585a13e06fccc16caecf" + +is-absolute@^0.1.5: + version "0.1.7" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.1.7.tgz#847491119fccb5fb436217cc737f7faad50f603f" + dependencies: + is-relative "^0.1.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-buffer@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-bzip2@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-bzip2/-/is-bzip2-1.0.0.tgz#5ee58eaa5a2e9c80e21407bedf23ae5ac091b3fc" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-extglob@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-gif@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-gif/-/is-gif-1.0.0.tgz#a6d2ae98893007bffa97a1d8c01d63205832097e" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + dependencies: + is-extglob "^2.1.0" + +is-gzip@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83" + +is-jpg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-jpg/-/is-jpg-1.0.0.tgz#2959c17e73430db38264da75b90dd54f2d86da1c" + +is-natural-number@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-2.1.1.tgz#7d4c5728377ef386c3e194a9911bf57c6dc335e7" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + +is-png@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-png/-/is-png-1.1.0.tgz#d574b12bf275c0350455570b0e5b57ab062077ce" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + +is-relative@^0.1.0: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.1.3.tgz#905fee8ae86f45b3ec614bc3c15c869df0876e82" + +is-retry-allowed@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + +is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-svg@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" + dependencies: + html-comment-regex "^1.1.0" + +is-tar@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-tar/-/is-tar-1.0.0.tgz#2f6b2e1792c1f5bb36519acaa9d65c0d26fe853d" + +is-url@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-valid-glob@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe" + +is-zip@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-zip/-/is-zip-1.0.0.tgz#47b0a8ff4d38a76431ccfd99a8e15a4c86ba2325" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +jpegtran-bin@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jpegtran-bin/-/jpegtran-bin-3.2.0.tgz#f60ecf4ae999c0bdad2e9fbcdf2b6f0981e7a29b" + dependencies: + bin-build "^2.0.0" + bin-wrapper "^3.0.0" + logalot "^2.0.0" + +js-yaml@~3.5.2: + version "3.5.5" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.5.5.tgz#0377c38017cabc7322b0d1fbcd25a491641f2fbe" + dependencies: + argparse "^1.0.2" + esprima "^2.6.0" + +js-yaml@~3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + +json-stable-stringify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +kind-of@^3.0.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +lazy-req@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac" + +lazystream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + dependencies: + readable-stream "^2.0.5" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +livereload-js@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.2.2.tgz#6c87257e648ab475bc24ea257457edcc1f8d0bc2" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._basetostring@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" + +lodash._basevalues@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash._reescape@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" + +lodash._reevaluate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + +lodash._root@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + +lodash.escape@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" + dependencies: + lodash._root "^3.0.0" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.isequal@^4.0.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + +lodash.template@^3.0.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" + dependencies: + lodash._basecopy "^3.0.0" + lodash._basetostring "^3.0.0" + lodash._basevalues "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + lodash.keys "^3.0.0" + lodash.restparam "^3.0.0" + lodash.templatesettings "^3.0.0" + +lodash.templatesettings@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + +lodash@4.17.4, lodash@~4.17.4: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + +lodash@^3.10.1, lodash@~3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + +lodash@~4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.3.0.tgz#efd9c4a6ec53f3b05412429915c3e4824e4d25a4" + +logalot@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/logalot/-/logalot-2.1.0.tgz#5f8e8c90d304edf12530951a5554abb8c5e3f552" + dependencies: + figures "^1.3.5" + squeak "^1.0.0" + +longest@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lowercase-keys@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" + +lpad-align@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/lpad-align/-/lpad-align-1.1.2.tgz#21f600ac1c3095c3c6e497ee67271ee08481fe9e" + dependencies: + get-stdin "^4.0.1" + indent-string "^2.1.0" + longest "^1.0.0" + meow "^3.3.0" + +lru-cache@^2.5.0: + version "2.7.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" + +lru-cache@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +make-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" + dependencies: + pify "^2.3.0" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +maxmin@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/maxmin/-/maxmin-1.1.0.tgz#71365e84a99dd8f8b3f7d5fde2f00d1e7f73be61" + dependencies: + chalk "^1.0.0" + figures "^1.0.1" + gzip-size "^1.0.0" + pretty-bytes "^1.0.0" + +maxmin@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/maxmin/-/maxmin-2.1.0.tgz#4d3b220903d95eee7eb7ac7fa864e72dc09a3166" + dependencies: + chalk "^1.0.0" + figures "^1.0.1" + gzip-size "^3.0.0" + pretty-bytes "^3.0.0" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +meow@^3.1.0, meow@^3.3.0, meow@^3.5.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +merge-stream@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + dependencies: + readable-stream "^2.0.1" + +micromatch@^2.3.7: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +mime-db@~1.30.0: + version "1.30.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" + +mime-types@~2.1.15: + version "2.1.17" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" + dependencies: + mime-db "~1.30.0" + +"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.0, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +modernizr@^3.3.1, modernizr@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/modernizr/-/modernizr-3.5.0.tgz#396a02231bdc54628bbde2c0813a8e884c7e8060" + dependencies: + doctrine "1.2.3" + file "0.2.2" + find-parent-dir "0.3.0" + lodash "4.17.4" + mkdirp "0.5.1" + remarkable "^1.6.2" + requirejs "2.1.22" + yargs "7.0.2" + +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +multipipe@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" + dependencies: + duplexer2 "0.0.2" + +node-status-codes@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" + +nopt@~3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.4.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + dependencies: + path-key "^2.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +object-assign@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" + +object-assign@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" + +object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +once@^1.3.0, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + +optipng-bin@^3.0.0: + version "3.1.4" + resolved "https://registry.yarnpkg.com/optipng-bin/-/optipng-bin-3.1.4.tgz#95d34f2c488704f6fd70606bfea0c659f1d95d84" + dependencies: + bin-build "^2.0.0" + bin-wrapper "^3.0.0" + logalot "^2.0.0" + +ordered-read-streams@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b" + dependencies: + is-stream "^1.0.1" + readable-stream "^2.0.1" + +os-filter-obj@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/os-filter-obj/-/os-filter-obj-1.0.3.tgz#5915330d90eced557d2d938a31c6dd214d9c63ad" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + +os-tmpdir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + +p-map@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + +p-pipe@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-1.2.0.tgz#4b1a11399a11520a67790ee5a0c1d5881d6befe9" + +pako@~0.2.0: + version "0.2.9" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.1.0, parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parseurl@~1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-is-absolute@^1.0.0, path-is-absolute@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + +pify@^2.0.0, pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +plur@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" + dependencies: + irregular-plurals "^1.0.0" + +postcss-value-parser@^3.2.3: + version "3.3.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" + +postcss@^6.0.11: + version "6.0.11" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.11.tgz#f48db210b1d37a7f7ab6499b7a54982997ab6f72" + dependencies: + chalk "^2.1.0" + source-map "^0.5.7" + supports-color "^4.4.0" + +postcss@^6.0.16: + version "6.0.16" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.16.tgz#112e2fe2a6d2109be0957687243170ea5589e146" + dependencies: + chalk "^2.3.0" + source-map "^0.6.1" + supports-color "^5.1.0" + +prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +pretty-bytes@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84" + dependencies: + get-stdin "^4.0.1" + meow "^3.1.0" + +pretty-bytes@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-3.0.1.tgz#27d0008d778063a0b4811bb35c79f1bd5d5fbccf" + dependencies: + number-is-nan "^1.0.0" + +pretty-bytes@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +q@^1.1.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" + +qs@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-5.2.0.tgz#a9f31142af468cb72b25b30136ba2456834916be" + +qs@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-5.1.0.tgz#4d932e5c7ea411cca76a312d39a606200fd50cd9" + +randomatic@^1.1.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +raw-body@~2.1.5: + version "2.1.7" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.1.7.tgz#adfeace2e4fb3098058014d08c072dcc59758774" + dependencies: + bytes "2.4.0" + iconv-lite "0.4.13" + unpipe "1.0.0" + +rc@^1.1.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-all-stream@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" + dependencies: + pinkie-promise "^2.0.0" + readable-stream "^2.0.0" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +"readable-stream@>=1.0.33-1 <1.1.0-0": + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.2.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + safe-buffer "~5.1.1" + string_decoder "~1.0.3" + util-deprecate "~1.0.1" + +readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + dependencies: + is-equal-shallow "^0.1.3" + +remarkable@^1.6.2: + version "1.7.1" + resolved "https://registry.yarnpkg.com/remarkable/-/remarkable-1.7.1.tgz#aaca4972100b66a642a63a1021ca4bac1be3bff6" + dependencies: + argparse "~0.1.15" + autolinker "~0.15.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +replace-ext@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" + +replace-ext@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +requirejs@2.1.22: + version "2.1.22" + resolved "https://registry.yarnpkg.com/requirejs/-/requirejs-2.1.22.tgz#dd78fd2d34180c0d62c724b5b8aebc0664e0366f" + +resolve@~1.1.0: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +rimraf@^2.2.6, rimraf@^2.5.1, rimraf@^2.5.4: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + +rimraf@~2.2.8: + version "2.2.8" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + +sax@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + +seek-bzip@^1.0.3: + version "1.0.5" + resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" + dependencies: + commander "~2.8.1" + +semver-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9" + +semver-truncate@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-1.1.2.tgz#57f41de69707a62709a7e0104ba2117109ea47e8" + dependencies: + semver "^5.3.0" + +"semver@2 || 3 || 4 || 5", semver@^5.3.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" + +semver@^4.0.3: + version "4.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + +signal-exit@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +source-map@0.5.x, source-map@^0.5.3, source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + +source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + +sparkles@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" + +spdx-correct@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + dependencies: + spdx-license-ids "^1.0.2" + +spdx-expression-parse@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + +spdx-license-ids@^1.0.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +squeak@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/squeak/-/squeak-1.3.0.tgz#33045037b64388b567674b84322a6521073916c3" + dependencies: + chalk "^1.0.0" + console-stream "^0.1.1" + lpad-align "^1.0.1" + +stat-mode@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-0.2.2.tgz#e6c80b623123d7d80cf132ce538f346289072502" + +statuses@1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" + +stream-combiner2@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" + dependencies: + duplexer2 "~0.1.0" + readable-stream "^2.0.2" + +stream-shift@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string_decoder@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-bom-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee" + dependencies: + first-chunk-stream "^1.0.0" + strip-bom "^2.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-dirs@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-1.1.1.tgz#960bbd1287844f3975a4558aa103a8255e2456a0" + dependencies: + chalk "^1.0.0" + get-stdin "^4.0.1" + is-absolute "^0.1.5" + is-natural-number "^2.0.0" + minimist "^1.1.0" + sum-up "^1.0.1" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +strip-outer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.0.tgz#aac0ba60d2e90c5d4f275fd8869fd9a2d310ffb8" + dependencies: + escape-string-regexp "^1.0.2" + +sum-up@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sum-up/-/sum-up-1.0.3.tgz#1c661f667057f63bcb7875aa1438bc162525156e" + dependencies: + chalk "^1.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^4.0.0, supports-color@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" + dependencies: + has-flag "^2.0.0" + +supports-color@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.1.0.tgz#058a021d1b619f7ddf3980d712ea3590ce7de3d5" + dependencies: + has-flag "^2.0.0" + +svgo@^0.7.0: + version "0.7.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" + dependencies: + coa "~1.0.1" + colors "~1.1.2" + csso "~2.3.1" + js-yaml "~3.7.0" + mkdirp "~0.5.1" + sax "~1.2.1" + whet.extend "~0.9.9" + +tar-stream@^1.1.1: + version "1.5.4" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.4.tgz#36549cf04ed1aee9b2a30c0143252238daf94016" + dependencies: + bl "^1.0.0" + end-of-stream "^1.0.0" + readable-stream "^2.0.0" + xtend "^4.0.0" + +temp-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" + +tempfile@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2" + dependencies: + os-tmpdir "^1.0.0" + uuid "^2.0.1" + +tempfile@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-2.0.0.tgz#6b0446856a9b1114d1856ffcbe509cccb0977265" + dependencies: + temp-dir "^1.0.0" + uuid "^3.0.1" + +through2-filter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" + dependencies: + through2 "~2.0.0" + xtend "~4.0.0" + +through2@^0.6.0, through2@^0.6.1: + version "0.6.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" + dependencies: + readable-stream ">=1.0.33-1 <1.1.0-0" + xtend ">=4.0.0 <4.1.0-0" + +through2@^2.0.0, through2@~2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + +time-stamp@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" + +timed-out@^3.0.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" + +tiny-lr@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-0.2.1.tgz#b3fdba802e5d56a33c2f6f10794b32e477ac729d" + dependencies: + body-parser "~1.14.0" + debug "~2.2.0" + faye-websocket "~0.10.0" + livereload-js "^2.2.0" + parseurl "~1.3.0" + qs "~5.1.0" + +to-absolute-glob@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f" + dependencies: + extend-shallow "^2.0.1" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +trim-repeated@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" + dependencies: + escape-string-regexp "^1.0.2" + +tunnel-agent@^0.4.0: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + +type-is@~1.6.10: + version "1.6.15" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" + dependencies: + media-typer "0.3.0" + mime-types "~2.1.15" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +uglify-js@~3.3.0: + version "3.3.7" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.7.tgz#28463e7c7451f89061d2b235e30925bf5625e14d" + dependencies: + commander "~2.13.0" + source-map "~0.6.1" + +underscore.string@~2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.4.0.tgz#8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b" + +underscore.string@~3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.2.3.tgz#806992633665d5e5fcb4db1fb3a862eb68e9e6da" + +underscore@~1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" + +unique-stream@^2.0.2: + version "2.2.1" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369" + dependencies: + json-stable-stringify "^1.0.0" + through2-filter "^2.0.0" + +unpipe@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +unzip-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" + +uri-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/uri-path/-/uri-path-1.0.0.tgz#9747f018358933c31de0fccfd82d138e67262e32" + +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + dependencies: + prepend-http "^1.0.1" + +url-regex@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-3.2.0.tgz#dbad1e0c9e29e105dd0b1f09f6862f7fdb482724" + dependencies: + ip-regex "^1.0.1" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +uuid@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" + +uuid@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" + +vali-date@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" + +validate-npm-package-license@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + dependencies: + spdx-correct "~1.0.0" + spdx-expression-parse "~1.0.0" + +vinyl-assign@^1.0.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/vinyl-assign/-/vinyl-assign-1.2.1.tgz#4d198891b5515911d771a8cd9c5480a46a074a45" + dependencies: + object-assign "^4.0.1" + readable-stream "^2.0.0" + +vinyl-fs@^2.2.0: + version "2.4.4" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239" + dependencies: + duplexify "^3.2.0" + glob-stream "^5.3.2" + graceful-fs "^4.0.0" + gulp-sourcemaps "1.6.0" + is-valid-glob "^0.3.0" + lazystream "^1.0.0" + lodash.isequal "^4.0.0" + merge-stream "^1.0.0" + mkdirp "^0.5.0" + object-assign "^4.0.0" + readable-stream "^2.0.4" + strip-bom "^2.0.0" + strip-bom-stream "^1.0.0" + through2 "^2.0.0" + through2-filter "^2.0.0" + vali-date "^1.0.0" + vinyl "^1.0.0" + +vinyl@^0.4.3: + version "0.4.6" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" + dependencies: + clone "^0.2.0" + clone-stats "^0.0.1" + +vinyl@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vinyl@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +ware@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ware/-/ware-1.3.0.tgz#d1b14f39d2e2cb4ab8c4098f756fe4b164e473d4" + dependencies: + wrap-fn "^0.1.0" + +websocket-driver@>=0.5.1: + version "0.7.0" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" + dependencies: + http-parser-js ">=0.4.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.2.tgz#0e18781de629a18308ce1481650f67ffa2693a5d" + +whet.extend@~0.9.9: + version "0.9.9" + resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + +which@^1.0.5, which@^1.2.9: + version "1.3.0" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" + dependencies: + isexe "^2.0.0" + +which@~1.2.1: + version "1.2.14" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" + dependencies: + isexe "^2.0.0" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrap-fn@^0.1.0: + version "0.1.5" + resolved "https://registry.yarnpkg.com/wrap-fn/-/wrap-fn-0.1.5.tgz#f21b6e41016ff4a7e31720dbc63a09016bdf9845" + dependencies: + co "3.1.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + +yargs-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" + dependencies: + camelcase "^3.0.0" + +yargs@7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.0.2.tgz#115b97df1321823e8b8648e8968c782521221f67" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^5.0.0" + +yauzl@^2.2.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.8.0.tgz#79450aff22b2a9c5a41ef54e02db907ccfbf9ee2" + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.0.1"